view scripts/add-issue @ 5200:16a8a3f0772c

Reset state of: self.db.security.set_props_only_default(False) at end of testGetPermission. I thought each test_X module had a fresh environment an load of all modules. I guess that is not the case as not resetting the props_only default to false seemed to bleed into the testAuthFilter in text_xmlrpc.py. However the funny part is it only caused problem in travis ci. Not in my manual running of the full test suite on two platforms. However I am pulling errors because the framework is not skipping the postgres tests for text_xmlrpc. Maybe that failure is hiding something?? If I run just the test_xmlrpc module I would not expect an issue since the security test suite won't be invoked. I am using different versions of the test harness and python so maybe.....
author John Rouillard <rouilj@ieee.org>
date Sat, 18 Mar 2017 15:12:39 -0400
parents 6e9b9743de89
children c75defc1c2f0
line wrap: on
line source

#! /usr/bin/env python
'''
Usage: %s <tracker home> <priority> <issue title>

Create a new issue in the given tracker. Input is taken from STDIN to
create the initial issue message (which may be empty). Issues will be
created as the current user (%s) if they exist as a Roundup
user, or "admin" otherwise.
'''

import sys, os, pwd

from roundup import instance, mailgw, date

# open the instance
username = pwd.getpwuid(os.getuid())[0]
if len(sys.argv) < 3:
    print "Error: Not enough arguments"
    print __doc__.strip()%(sys.argv[0], username)
    sys.exit(1)
tracker_home = sys.argv[1]
issue_priority = sys.argv[2]
issue_title = ' '.join(sys.argv[3:])

# get the message, if any
message_text = sys.stdin.read().strip()

# open the tracker
tracker = instance.open(tracker_home)
db = tracker.open('admin')
db.tx_Source = "cli"
uid = db.user.lookup('admin')
try:
    # try to open the tracker as the current user
    uid = db.user.lookup(username)
    db.close()
    db = tracker.open(username)
except KeyError:
    pass

try:

    # handle the message
    messages = []
    if message_text:
        summary, x = mailgw.parseContent(message_text, 0, 0)
        msg = db.msg.create(content=message_text, summary=summary, author=uid,
            date=date.Date())
        messages = [msg]

    # now create the issue
    db.issue.create(title=issue_title, priority=issue_priority,
        messages=messages)

    db.commit()
finally:
    db.close()

# vim: set filetype=python ts=4 sw=4 et si

Roundup Issue Tracker: http://roundup-tracker.org/