Skip to content

Commit

Permalink
cleanups
Browse files Browse the repository at this point in the history
  • Loading branch information
JustinAzoff committed Jun 26, 2009
1 parent ea97b45 commit 8911116
Show file tree
Hide file tree
Showing 4 changed files with 113 additions and 0 deletions.
38 changes: 38 additions & 0 deletions examples/make_calendar.py
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()
35 changes: 35 additions & 0 deletions examples/open_day_report.py
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()
25 changes: 25 additions & 0 deletions examples/ticket_report.py
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()
15 changes: 15 additions & 0 deletions tests/test_search.py
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

0 comments on commit 8911116

Please sign in to comment.