-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ea97b45
commit 8911116
Showing
4 changed files
with
113 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
#!/usr/bin/env python | ||
from pyrt import RTClient, and_ | ||
import sys | ||
import getpass | ||
|
||
from icalendar import Calendar, Event | ||
import datetime | ||
from dateutil.parser import parse as parse_date | ||
|
||
def report(rt): | ||
tickets = rt.ticket.find_open(format='l') | ||
cal = Calendar() | ||
cal.add('prodid', '-//My calendar product//mxm.dk//') | ||
cal.add('version', '0.1') | ||
for t in tickets: | ||
d = t.Due | ||
if not d: | ||
d = t.Created | ||
d = parse_date(d) | ||
event = Event() | ||
event.add('summary', t.Subject) | ||
event.add('dtstart', d) | ||
event.add('dtend', d+datetime.timedelta(hours=1)) | ||
event.add('dtstamp', d) | ||
event['uid'] = '%s@rt' % t.id | ||
cal.add_component(event) | ||
|
||
f = open('example.ics', 'wb') | ||
f.write(cal.as_string()) | ||
f.close() | ||
|
||
|
||
def main(): | ||
rt = RTClient('https://www/rt/','justin',getpass.getpass()) | ||
report(rt) | ||
|
||
if __name__ == "__main__": | ||
main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
#!/usr/bin/env python | ||
from pyrt import RTClient, and_, or_ | ||
import sys | ||
import getpass | ||
|
||
import datetime | ||
from dateutil.parser import parse as parse_date | ||
import cPickle | ||
|
||
def num_open(rt, day): | ||
o = rt.ticket.search(and_([ | ||
rt.ticket.c.Created < day, | ||
or_([rt.ticket.c.Status!='resolved', rt.ticket.c.Resolved > day]) | ||
])) | ||
|
||
return len(o) | ||
|
||
def report(rt): | ||
now = datetime.datetime.now() | ||
start = datetime.datetime(2007, 1, 1, 12, 0) | ||
|
||
day = datetime.timedelta(days=1) | ||
cur = start | ||
|
||
|
||
while cur < now: | ||
print cur, num_open(rt, cur) | ||
cur += day | ||
|
||
def main(): | ||
rt = RTClient('https://www/rt/','justin',getpass.getpass()) | ||
report(rt) | ||
|
||
if __name__ == "__main__": | ||
main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
#!/usr/bin/env python | ||
from pyrt import RTClient, and_ | ||
import sys | ||
import getpass | ||
import csv | ||
|
||
def report(rt, queue, start_date,outfile): | ||
tickets = rt.ticket.search(and_([rt.ticket.c.queue==queue, rt.ticket.c.created>=start_date]),format='l') | ||
|
||
f = open(outfile, 'w') | ||
c = csv.writer(f) | ||
c.writerow("id subject requestors creator created resolved".split()) | ||
for t in tickets: | ||
c.writerow((t.id, t.Subject, t.Requestors, t.Creator, t.Created, t.Resolved)) | ||
f.close() | ||
|
||
def main(): | ||
q = sys.argv[1] | ||
sd = sys.argv[2] | ||
of = sys.argv[3] | ||
rt = RTClient('https://www/rt/','justin',getpass.getpass()) | ||
report(rt, q, sd, of) | ||
|
||
if __name__ == "__main__": | ||
main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
from pyrt import RTClient | ||
|
||
import time | ||
import os | ||
RT_USER = os.getenv("RT_USER") | ||
RT_PASS = os.getenv("RT_PASS") | ||
|
||
def test_search_find_open(): | ||
c=RTClient('http://localhost/rt/', RT_USER, RT_PASS) | ||
res = c.ticket.find_open() | ||
last = 0 | ||
for id,sub in res: | ||
print id,sub | ||
assert int(last) < int(id) | ||
last = id |