Module Expr Str Assign NameStore Dict Str Str Assign NameStore Str ImportFrom alias Import alias Import alias Import alias ClassDef bases NameLoad body FunctionDef arguments args NameParam defaults body Return Str decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str If NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str For NameStore NameLoad body If CompareEq Call NameLoad Call AttributeLoad NameLoad attr Num body If BoolOpAnd CompareNotEq AttributeLoad NameLoad attr NameLoad CompareNotEq Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Num body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr ListLoad orelse Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr ListComp Call NameLoad NameLoad comprehension NameStore Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str For NameStore AttributeLoad NameLoad attr body Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad If CompareNotEq Call NameLoad NameLoad NameLoad body AugAssignAdd NameStore BinOpMod Str TupleLoad NameLoad NameLoad orelse For NameStore NameLoad body AugAssignAdd NameStore Call AttributeLoad Str attr Call AttributeLoad Call AttributeLoad NameLoad attr attr Str Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Assign NameStore Str For NameStore AttributeLoad NameLoad attr body Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index NameLoad If CompareNotEq Call NameLoad NameLoad NameLoad body AugAssignAdd NameStore BinOpMod Str TupleLoad NameLoad NameLoad NameLoad orelse For NameStore NameLoad body AugAssignAdd NameStore Call AttributeLoad Str attr Call AttributeLoad Call AttributeLoad NameLoad attr attr Str Return NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Expr Call AttributeLoad NameLoad attr NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr ListLoad Assign AttributeStore NameLoad attr Dict Assign AttributeStore NameLoad attr Dict Assign SubscriptStore AttributeLoad NameLoad attr Index Str NameLoad Assign AttributeStore NameLoad attr Dict Assign NameStore Call AttributeLoad Call NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call NameLoad ListComp TupleLoad AttributeLoad Call NameLoad NameLoad attr AttributeLoad Call NameLoad NameLoad attr comprehension NameStore Call AttributeLoad NameLoad attr Str For NameStore Call AttributeLoad NameLoad attr Str body Assign NameStore Call NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad For NameStore AttributeLoad NameLoad attr body Assign NameStore TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareNotIn NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad For NameStore AttributeLoad NameLoad attr body Assign NameStore TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareNotIn NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad Assign AttributeStore NameLoad attr ListComp TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr comprehension NameStore AttributeLoad NameLoad attr For NameStore AttributeLoad NameLoad attr body If CompareEq Call NameLoad NameLoad NameLoad body Print Call NameLoad NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad If CompareNotIn Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Expr Call AttributeLoad AttributeLoad NameLoad attr attr Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad Str NameLoad If BoolOpAnd CompareIsNot NameLoad NameLoad CompareNotIn NameLoad AttributeLoad NameLoad attr body For TupleStore NameStore NameStore AttributeLoad NameLoad attr body If CompareEq NameLoad NameLoad body Break Assign SubscriptStore AttributeLoad NameLoad attr Index NameLoad SubscriptLoad Call NameLoad AttributeLoad NameLoad attr Index NameLoad Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr NameLoad keyword NameLoad If CompareNotIn AttributeLoad NameLoad attr AttributeLoad NameLoad attr body Assign SubscriptStore AttributeLoad NameLoad attr Index AttributeLoad NameLoad attr SubscriptLoad NameLoad Index AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr keyword Lambda arguments args NameParam defaults AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad NameLoad body Expr Str Assign NameStore IfExp CompareIsNot NameLoad NameLoad ListLoad NameLoad AttributeLoad NameLoad attr Assign NameStore ListLoad For NameStore NameLoad body For NameStore AttributeLoad NameLoad attr body Assign NameStore TupleLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr If CompareNotIn NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad If NameLoad body Expr Call AttributeLoad NameLoad attr orelse Expr Call AttributeLoad NameLoad attr keyword Lambda arguments args NameParam defaults SubscriptLoad NameLoad Index Num If NameLoad body Assign NameStore ListComp SubscriptLoad NameLoad Slice Num comprehension NameStore NameLoad If NameLoad body Assign NameStore ListComp SubscriptLoad NameLoad Slice Num comprehension NameStore NameLoad Return NameLoad decorator_list decorator_list ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam defaults body Assign AttributeStore NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return CompareGt Call NameLoad SubscriptLoad SubscriptLoad Call AttributeLoad AttributeLoad NameLoad attr attr Str Index Num Index Num Num decorator_list FunctionDef arguments args NameParam defaults body If Call AttributeLoad NameLoad attr body Raise NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr With AttributeLoad AttributeLoad NameLoad attr attr NameStore body Expr Call NameLoad Str For TupleStore NameStore NameStore Call NameLoad NameLoad body Expr Call NameLoad Str TupleLoad Str NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr With AttributeLoad AttributeLoad NameLoad attr attr NameStore body Expr Call NameLoad Str For TupleStore NameStore NameStore Call NameLoad NameLoad body Expr Call NameLoad Str TupleLoad Str NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr With AttributeLoad AttributeLoad NameLoad attr attr NameStore body Expr Call NameLoad Str For TupleStore NameStore NameStore NameLoad body Expr Call NameLoad Str TupleLoad Str NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr With AttributeLoad AttributeLoad NameLoad attr attr NameStore body Expr Call NameLoad Str For TupleStore NameStore NameStore NameLoad body Expr Call NameLoad Str TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr With AttributeLoad AttributeLoad NameLoad attr attr NameStore body Expr Call NameLoad Str For NameStore NameLoad body Expr Call NameLoad Str NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Expr Call AttributeLoad NameLoad attr With AttributeLoad AttributeLoad NameLoad attr attr NameStore body Expr Call NameLoad Str For NameStore NameLoad body Expr Call NameLoad Str NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults body Expr Str If CompareEq Call AttributeLoad NameLoad attr Str body If CompareNotEq NameLoad Str body Assign NameStore Str orelse Assign NameStore Str With AttributeLoad AttributeLoad NameLoad attr attr NameStore body Assign NameStore Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Str TupleLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad NameLoad BinOpMod Str NameLoad NameLoad Return Call AttributeLoad NameLoad attr NameLoad Str decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults body With AttributeLoad AttributeLoad NameLoad attr attr NameStore body Expr Call NameLoad Str TupleLoad NameLoad NameLoad NameLoad Str Str BinOpMod Str NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam NameParam defaults body With AttributeLoad AttributeLoad NameLoad attr attr NameStore body Expr Call NameLoad Str TupleLoad NameLoad NameLoad NameLoad NameLoad NameLoad NameLoad decorator_list decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Assign NameStore Call NameLoad NameLoad Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call NameLoad NameLoad Assign NameStore ListComp AttributeLoad NameLoad attr comprehension NameStore NameLoad Print BinOpMod Str TupleLoad Call NameLoad NameLoad NameLoad Assign NameStore Call NameLoad Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad Call NameLoad Call AttributeLoad NameLoad attr keyword NameLoad attr Expr Call AttributeLoad NameLoad attr Assign NameStore ListComp NameLoad comprehension NameStore NameLoad CompareIn SubscriptLoad NameLoad Index Num NameLoad Print BinOpMod Str TupleLoad Call NameLoad NameLoad Call NameLoad Call AttributeLoad NameLoad attr NameLoad Print Str For TupleStore NameStore NameStore Call NameLoad NameLoad body If CompareIn SubscriptLoad NameLoad Index Num NameLoad body Assign SubscriptStore NameLoad Index NameLoad TupleLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index SubscriptLoad NameLoad Index Num Print BinOpMod Str NameLoad Print BinOpMod Str TupleLoad Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Print BinOpMod Str TupleLoad Call NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore ListComp TupleLoad NameLoad SubscriptLoad AttributeLoad NameLoad attr Index NameLoad comprehension NameStore AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr keyword Lambda arguments args NameParam defaults Call NameLoad SubscriptLoad NameLoad Index Num Print BinOpMod Str TupleLoad Call NameLoad NameLoad NameLoad Print BinOpMod Str AttributeLoad NameLoad attr If UnaryOpNot CompareEq Call AttributeLoad Call NameLoad Str attr Str body Expr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Call NameLoad Call NameLoad AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call NameLoad ListComp SubscriptLoad NameLoad Index Num comprehension NameStore AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr ListLoad For NameStore AttributeLoad NameLoad attr body Assign NameStore Call NameLoad BinOpAdd Call AttributeLoad NameLoad attr keyword NameLoad ListLoad TupleLoad Str NameLoad For NameStore AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword Call NameLoad AttributeLoad NameLoad attr keyword Call NameLoad AttributeLoad NameLoad attr keyword SubscriptLoad NameLoad Index AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword IfExp CompareNotIn AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr SubscriptLoad NameLoad Index AttributeLoad NameLoad attr keyword IfExp CompareNotIn AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr SubscriptLoad NameLoad Index AttributeLoad NameLoad attr keyword NameLoad keyword SubscriptLoad Call NameLoad BinOpAdd AttributeLoad NameLoad attr ListLoad TupleLoad Str NameLoad Index AttributeLoad NameLoad attr keyword NameLoad keyword SubscriptLoad Call NameLoad AttributeLoad NameLoad attr Index AttributeLoad NameLoad attr keyword IfExp Call NameLoad NameLoad Str SubscriptLoad Call NameLoad NameLoad Index AttributeLoad NameLoad attr NameLoad keyword AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword BinOpAdd Str AttributeLoad NameLoad attr Print BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad If Call NameLoad AttributeLoad NameLoad attr body Assign NameStore Str For NameStore AttributeLoad NameLoad attr body Assign NameStore BinOpAdd NameLoad BinOpMod Str TupleLoad BinOpAdd AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr BinOpAdd AttributeLoad NameLoad attr Str Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str Call AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr Assign NameStore BinOpAdd NameLoad BinOpMod Str BoolOpOr AttributeLoad NameLoad attr Str Expr Call AttributeLoad NameLoad attr keyword NameLoad keyword Call AttributeLoad NameLoad attr Str Call AttributeLoad NameLoad attr Call NameLoad AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad Print BinOpMod Str TupleLoad Call NameLoad AttributeLoad NameLoad attr NameLoad For NameStore AttributeLoad NameLoad attr body Expr Str Expr Call AttributeLoad NameLoad attr keyword NameLoad keyword AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr If AttributeLoad NameLoad attr body Print BinOpMod Str TupleLoad Call NameLoad AttributeLoad NameLoad attr NameLoad Expr Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Num For NameStore Call NameLoad AttributeLoad NameLoad attr keyword NameLoad body Expr Str Assign NameStore NameLoad If CompareIn AttributeLoad NameLoad attr TupleLoad Str body AugAssignAdd NameStore Num Continue orelse If CompareIn AttributeLoad NameLoad attr TupleLoad Str Str body Assign NameStore AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr orelse If CompareEq AttributeLoad NameLoad attr Str body Assign NameStore Str Assign NameStore SubscriptLoad NameLoad Index Str If CompareEq AttributeLoad NameLoad attr Str body Assign SubscriptStore NameLoad Index Str NameLoad Assign NameStore NameLoad orelse Assign NameStore SubscriptLoad AttributeLoad NameLoad attr Index AttributeLoad NameLoad attr If CompareIn NameLoad NameLoad body Assign NameStore SubscriptLoad NameLoad Index NameLoad Assign SubscriptStore NameLoad Index Str NameStore NameLoad orelse If BoolOpAnd CompareEq AttributeLoad NameLoad attr Str CompareNotEq SubscriptLoad NameLoad Index Str Num body Assign NameStore Str Assign NameStore Str Assign NameStore Str If NameLoad body AugAssignAdd NameStore Num Expr Call AttributeLoad NameLoad attr keyword NameLoad keyword AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad keyword NameLoad If CompareNotEq AttributeLoad NameLoad attr Str body Assign SubscriptStore NameLoad Index AttributeLoad NameLoad attr AttributeLoad NameLoad attr If NameLoad body Print BinOpMod Str TupleLoad NameLoad Call NameLoad AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args defaults body Import alias Assign NameStore Call AttributeLoad NameLoad attr Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr If CompareNotEq Call NameLoad NameLoad Num body Expr Call AttributeLoad NameLoad attr Str TryExcept body Expr Call NameLoad Call NameLoad SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num NameLoad handlers ExceptHandler type NameLoad name NameStore body Print BinOpAdd Str NameLoad Expr Call AttributeLoad NameLoad attr Num Print NameLoad decorator_list If CompareEq NameLoad Str body Expr Call NameLoad
N/A N/A 
Import a Sourceforge project's tracker items into a Trac database.

Requires:
   Trac 1.0 from http://trac.edgewall.org/
   Python 2.5 from http://www.python.org/

1.0 clean-up by cboos **untested**, use at your own risks and send patches

The Sourceforge tracker items can be exported from the 'Backup' page
of the project admin section. Substitute XXXXX with project id:
https://sourceforge.net/export/xml_export2.php?group_id=XXXXX

$Id$


Uses Trac 0.11 DB format version 21
SourceForge XML Export format identified by the header:
<!DOCTYPE project_export SYSTEM "http://sourceforge.net/export/sf_project_export_0.2.dtd">

Works with all DB backends. Attachments are not downloaded, but inserted
as links to SF tracker.


Ticket Types, Priorities and Resolutions
----------------------------------------
Conversion kills default Trac ticket types:
- defect      1
- enhancement 2
- task        3

and priorities:
- blocker  1
- critical 2
- major    3
- minor    4
- trivial  5

and resolutions:
- fixed      1
- invalid    2
- wontfix    3
- duplicate  4
- worksforme 5


Versions and Milestones
-----------------------
Kills versions and milestones from existing Trac DB


Mapping
-------
tracker_name == ticket_type
group_name == version
category_name == component

user nobody == anonymous


Not implemented (feature:reason)
--------------------------------
attachments:made as a comment with links to attachments stored on SF
            (type,id,filename,size,time,description,author,ipnr)
ticket_custom:unknown (ticket,name,value)
history:imported only for summary, priority. closed date and owner fields

severities:no field in source data
 N/A user_map N/A nobody anonymous N/A complete_msg 
Conversion complete.

You may want to login into Trac to verify names for ticket owners. You may
also want to rename ticket types and priorities to default.
 xml.etree.ElementTree ElementTree N/A time N/A sys N/A trac.env DBNotEmpty N/A Exception N/A __str__ N/A N/A self N/A N/A N/A Will not modify database with existing tickets! N/A N/A FlatXML N/A object N/A N/A Flat XML is XML without element attributes. Also each element
       may contain other elements or text, but not both.

       This object mirrors XML structure into own properties for convenient
       access to tree elements, i.e. flat.trackers[2].groups[2].group_name

       Uses recursion.
     __init__ N/A N/A self el N/A None N/A N/A el is ElementTree element N/A el N/A N/A N/A N/A self merge el N/A merge N/A N/A self el N/A N/A N/A merge supplied ElementTree element into current object N/A c el N/A N/A N/A N/A len N/A N/A c getchildren 0 N/A N/A N/A N/A N/A c text None N/A N/A len N/A N/A N/A c text strip 0 N/A N/A N/A N/A self __setattr__ N/A c tag N/A c text N/A N/A N/A N/A self __setattr__ N/A c tag N/A N/A N/A N/A N/A self __setattr__ N/A c tag N/A N/A FlatXML x N/A x N/A N/A c getchildren N/A __str__ N/A N/A self N/A N/A N/A buf N/A sub N/A self __dict__ N/A N/A val N/A N/A self __dict__ N/A sub N/A N/A N/A type val list N/A N/A buf N/A %s : %s
 N/A sub val N/A N/A x val N/A N/A buf N/A N/A join N/A N/A N/A N/A x __str__ split N/A buf N/A __repr__ N/A N/A self N/A N/A N/A buf N/A sub N/A self __dict__ N/A N/A val N/A N/A self __dict__ N/A sub N/A N/A N/A type val list N/A N/A buf N/A <%s>%s</%s>
 N/A sub val sub N/A N/A x val N/A N/A buf N/A N/A join N/A N/A N/A N/A x __repr__ split N/A buf N/A N/A Tracker N/A FlatXML N/A N/A 
 <trackers>
  <tracker>
   <url>http://sourceforge.net/?group_id=175454&#38;atid=873299</url>
   <tracker_id>873299</tracker_id>
   <name>Bugs</name>
   <description>Bug Tracking System</description>
   <is_public>All site users</is_public>
   <allow_anon>Yes</allow_anon>
   <email_updates>Send to goblinhack@gmail.com</email_updates>
   <due_period>2592000</due_period>
   <submit_instructions></submit_instructions>
   <browse_instructions></browse_instructions>
   <status_timeout>1209600</status_timeout>
   <due_period_initial>0</due_period_initial>
   <due_period_update>0</due_period_update>
   <reopen_on_comment>1</reopen_on_comment>
   <canned_responses>
   </canned_responses>
   <groups>
    <group>
     <id>632324</id>
      <group_name>v1.0 (example)</group_name>
    </group>
   </groups>
   <categories>
    <category>
     <id>885178</id>
      <category_name>Interface (example)</category_name>
     <auto_assignee>nobody</auto_assignee>
    </category>
   </categories>
   <resolutions>
    <resolution>
     <id>1</id>
     <name>Fixed</name>
    </resolution>
    <resolution>
     <id>2</id>
     <name>Invalid</name>
    </resolution>
    ...
   </resolutions>
   <statuses>
    <status>
      <id>1</id>
      <name>Open</name>
    </status>
    <status>
      <id>2</id>
      <name>Closed</name>
    </status>
    <status>
      <id>3</id>
      <name>Deleted</name>
    </status>
    <status>
      <id>4</id>
      <name>Pending</name>
    </status>
   </statuses>
   ...
   <tracker_items>
    <tracker_item>
<url>http://sourceforge.net/support/tracker.php?aid=2471428</url>
<id>2471428</id>
<status_id>2</status_id>
<category_id>100</category_id>
<group_id>100</group_id>
<resolution_id>100</resolution_id>
<submitter>sbluen</submitter>
<assignee>nobody</assignee>
<closer>goblinhack</closer>
<submit_date>1230400444</submit_date>
<close_date>1231087612</close_date>
<priority>5</priority>
<summary>glitch with edge of level</summary>
<details>The mini-laser that the future soldier carries is so powerful that it even lets me go outside the level. I stand at the top edge of the level and then shoot up, and then it gets me somewhere where I am not supposed to go.</details>
<is_private>0</is_private>
<followups>
 <followup>
  <id>2335316</id>
  <submitter>goblinhack</submitter>
  <date>1175610236</date>
  <details>Logged In: YES
  user_id=1577972
  Originator: NO

  does this happen every game or just once?

  you could send me the saved file and I'll try and load it - old
  versions harldy ever work with newer versions - need to add some
  kind of warnings on that

  tx</details>
 </followup>
 ...
</followups>
<attachments>
 <attachment>
  <url>http://sourceforge.net/tracker/download.php?group_id=175454&#38;atid=873299&#38;file_id=289080&#38;aid=</url>
  <id>289080</id>
  <filename>your_most_recent_game.gz</filename>
  <description>my saved game</description>
  <filesize>112968</filesize>
  <filetype>application/x-gzip</filetype>
  <date>1218987770</date>
  <submitter>sbluen</submitter>
 </attachment>
...
</attachments>
<history_entries>
 <history_entry>
  <id>7304242</id>
  <field_name>IP</field_name>
  <old_value>Artifact Created: 76.173.48.148</old_value>
  <date>1230400444</date>
  <updator>sbluen</updator>
 </history_entry>
 ...
</history_entries>
    </tracker_item>
    ...
   </tracker_items>
  ...
  </tracker>
 </trackers>
     __init__ N/A N/A self e N/A N/A N/A N/A N/A self merge e N/A N/A ExportedProjectData N/A object N/A N/A Project data container as Python object.
     __init__ N/A N/A self f N/A N/A N/A Data parsing N/A N/A self trackers N/A N/A N/A self groups N/A N/A N/A self priorities N/A N/A N/A self resolutions N/A N/A N/A self tickets N/A N/A N/A self statuses N/A N/A N/A self used_resolutions N/A N/A N/A self used_categories N/A N/A N/A N/A self used_categories N/A 100 None N/A N/A self users N/A N/A root N/A N/A N/A ElementTree parse f N/A N/A self users N/A dict N/A N/A N/A N/A FlatXML u userid N/A N/A FlatXML u username N/A u N/A N/A root find referenced_users N/A tracker N/A N/A root find trackers N/A N/A tr N/A Tracker tracker N/A N/A N/A N/A self trackers append tr N/A grp N/A tr groups N/A N/A g N/A N/A grp id N/A grp group_name N/A N/A g N/A self groups N/A N/A N/A N/A N/A self groups append g N/A res N/A tr resolutions N/A N/A r N/A N/A res id N/A res name N/A N/A r N/A self resolutions N/A N/A N/A N/A N/A self resolutions append r N/A N/A self statuses N/A N/A N/A s id N/A s name N/A s N/A tr statuses N/A tck N/A tr tracker_items N/A N/A N/A N/A type tck str N/A N/A N/A repr tck N/A N/A N/A N/A self tickets append tck N/A N/A N/A int N/A tck priority N/A self priorities N/A N/A N/A N/A N/A self priorities append N/A int N/A tck priority N/A res_id N/A getattr tck resolution_id None N/A N/A N/A res_id None N/A res_id N/A self used_resolutions N/A N/A N/A idx name N/A self resolutions N/A N/A N/A idx res_id N/A N/A N/A N/A N/A self used_resolutions N/A res_id N/A N/A dict N/A self resolutions N/A res_id N/A categories N/A dict N/A N/A self get_categories tr noowner True N/A N/A N/A tck category_id N/A self used_categories N/A N/A N/A N/A self used_categories N/A N/A tck category_id N/A categories N/A N/A tck category_id N/A N/A N/A N/A self trackers sort key N/A N/A N/A x N/A N/A x name N/A N/A N/A N/A self groups sort N/A N/A N/A N/A self priorities sort N/A get_categories N/A N/A self tracker noid noowner N/A None False False N/A N/A  SF categories : Trac components
            (id, name, owner) tuples for specified tracker or all trackers
            if noid or noowner flags are set, specified tuple attribute is
            stripped
         N/A trs N/A N/A tracker None N/A tracker N/A self trackers N/A categories N/A N/A tr trs N/A N/A cat N/A tr categories N/A N/A c N/A N/A cat id N/A cat category_name N/A cat auto_assignee N/A N/A c categories N/A N/A N/A N/A categories append c N/A noid N/A N/A N/A N/A categories sort N/A N/A N/A N/A categories sort key N/A N/A N/A x N/A N/A x N/A 1 N/A noowner N/A N/A categories N/A N/A x N/A 2 N/A x categories N/A noid N/A N/A categories N/A N/A x N/A 1 N/A x categories N/A categories N/A N/A TracDatabase N/A object N/A __init__ N/A N/A self path N/A N/A N/A N/A self env N/A N/A N/A trac env Environment path N/A hasTickets N/A N/A self N/A N/A N/A N/A N/A int N/A N/A N/A N/A N/A self env db_query SELECT count(*) FROM ticket N/A 0 N/A 0 0 N/A dbCheck N/A N/A self N/A N/A N/A N/A N/A self hasTickets N/A N/A DBNotEmpty N/A setTypeList N/A N/A self s N/A N/A N/A Remove all types, set them to `s` N/A N/A N/A self dbCheck N/A N/A N/A self env db_transaction db N/A N/A N/A db DELETE FROM enum WHERE type='ticket_type' N/A N/A i value N/A enumerate s N/A N/A N/A db INSERT INTO enum (type, name, value) VALUES (%s, %s, %s) N/A ticket_type value i N/A setPriorityList N/A N/A self s N/A N/A N/A Remove all priorities, set them to `s` N/A N/A N/A self dbCheck N/A N/A N/A self env db_transaction db N/A N/A N/A db DELETE FROM enum WHERE type='priority' N/A N/A i value N/A enumerate s N/A N/A N/A db INSERT INTO enum (type, name, value) VALUES (%s, %s, %s) N/A priority value i N/A setResolutionList N/A N/A self t N/A N/A N/A Remove all resolutions, set them to `t` (index, name) N/A N/A N/A self dbCheck N/A N/A N/A self env db_transaction db N/A N/A N/A db DELETE FROM enum WHERE type='resolution' N/A N/A value name t N/A N/A N/A db INSERT INTO enum (type, name, value) VALUES (%s, %s, %s) N/A resolution name value N/A setComponentList N/A N/A self t N/A N/A N/A Remove all components, set them to `t` (name, owner) N/A N/A N/A self dbCheck N/A N/A N/A self env db_transaction db N/A N/A N/A db DELETE FROM component N/A N/A name owner t N/A N/A N/A db INSERT INTO component (name, owner) VALUES (%s, %s) N/A name owner N/A setVersionList N/A N/A self v N/A N/A N/A Remove all versions, set them to `v` N/A N/A N/A self dbCheck N/A N/A N/A self env db_transaction db N/A N/A N/A db DELETE FROM version N/A value v N/A N/A N/A db INSERT INTO version (name) VALUES (%s) value N/A setMilestoneList N/A N/A self m N/A N/A N/A Remove all milestones, set them to `m` ( N/A N/A N/A self dbCheck N/A N/A N/A self env db_transaction db N/A N/A N/A db DELETE FROM milestone N/A value m N/A N/A N/A db INSERT INTO milestone (name) VALUES (%s) value N/A addTicket N/A N/A self type time changetime component priority owner reporter cc version milestone status resolution summary description keywords N/A N/A N/A  ticket table db21.py format

        id              integer PRIMARY KEY,
        type            text,           -- the nature of the ticket
        time            integer,        -- the time it was created
        changetime      integer,
        component       text,
        severity        text,
        priority        text,
        owner           text,           -- who is this ticket assigned to
        reporter        text,
        cc              text,           -- email addresses to notify
        version         text,           --
        milestone       text,           --
        status          text,
        resolution      text,
        summary         text,           -- one-line summary
        description     text,           -- problem description (long)
        keywords        text
         N/A N/A N/A N/A status lower open N/A N/A N/A owner N/A N/A status assigned N/A N/A status new N/A N/A N/A self env db_transaction db N/A N/A c N/A N/A db cursor N/A N/A N/A c execute 
                INSERT INTO ticket (type, time, changetime, component,
                                    priority, owner, reporter, cc, version,
                                    milestone, status, resolution, summary,
                                    description, keywords)
                VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
                        %s, %s)
                 N/A type time changetime component priority owner reporter cc version milestone N/A N/A status lower resolution summary N/A %s description keywords N/A N/A N/A db get_last_id c ticket N/A addTicketComment N/A N/A self ticket time author value N/A N/A N/A N/A N/A self env db_transaction db N/A N/A N/A db 
                INSERT INTO ticket_change (ticket, time, author, field,
                                           oldvalue, newvalue)
                VALUES (%s, %s, %s, %s, %s, %s)
                 N/A ticket time author comment N/A %s value N/A addTicketChange N/A N/A self ticket time author field oldvalue newvalue N/A N/A N/A N/A N/A self env db_transaction db N/A N/A N/A db INSERT INTO ticket_change (ticket, time, author, field,
                                             oldvalue, newvalue)
                  VALUES (%s, %s, %s, %s, %s, %s)
                   N/A ticket time author field oldvalue newvalue N/A N/A importData N/A N/A f env opt N/A N/A N/A project N/A ExportedProjectData f N/A trackers N/A project trackers N/A trac N/A TracDatabase env N/A typeList N/A N/A x name N/A x trackers N/A N/A %d trackers will be converted to the following ticket types:
  %s N/A N/A len trackers typeList N/A used_cat_names N/A set N/A N/A N/A project used_categories values N/A components N/A N/A N/A dict N/A N/A project get_categories noid True items N/A N/A N/A components sort N/A components N/A x N/A x components N/A N/A x N/A 0 used_cat_names N/A N/A %d out of %d categories are used and will be converted to the following components:
  %s N/A N/A len components N/A len N/A N/A project get_categories components N/A ..renaming component owners: N/A N/A i c N/A enumerate components N/A N/A N/A N/A c N/A 1 user_map N/A N/A N/A components N/A i N/A N/A c N/A 0 N/A user_map N/A N/A c N/A 1 N/A N/A   %s components N/A N/A %d groups which will be converted to the following versions:
  %s N/A N/A len N/A project groups N/A project groups N/A N/A %d resolutions found :
  %s N/A N/A len N/A project resolutions N/A project resolutions N/A resolutions N/A N/A k N/A N/A project used_resolutions N/A k N/A k N/A project used_resolutions N/A N/A N/A resolutions sort key N/A N/A N/A x N/A N/A int N/A x N/A 0 N/A N/A .. only %d used will be imported:
  %s N/A N/A len resolutions resolutions N/A N/A Priorities used so far: %s N/A project priorities N/A N/A N/A N/A N/A N/A raw_input Continue [y/N]? lower y N/A N/A N/A N/A sys exit N/A N/A N/A trac setTypeList typeList N/A N/A N/A trac setComponentList components N/A N/A N/A trac setPriorityList N/A range N/A min N/A project priorities N/A max N/A project priorities N/A N/A N/A trac setVersionList N/A set N/A N/A x N/A 1 N/A x N/A project groups N/A N/A N/A trac setResolutionList resolutions N/A N/A N/A trac setMilestoneList N/A N/A tracker N/A project trackers N/A N/A component_lookup N/A dict N/A N/A N/A project get_categories noowner True N/A N/A 100 None N/A t N/A tracker tracker_items N/A N/A i N/A N/A trac addTicket type N/A tracker name time N/A int N/A t submit_date changetime N/A int N/A t submit_date component N/A component_lookup N/A N/A t category_id priority N/A t priority owner N/A N/A N/A t assignee user_map N/A t assignee N/A user_map N/A N/A t assignee reporter N/A N/A N/A t submitter user_map N/A t submitter N/A user_map N/A N/A t submitter cc None version N/A N/A dict N/A N/A project groups N/A N/A 100 None N/A N/A t group_id milestone None status N/A N/A dict N/A project statuses N/A N/A t status_id resolution N/A N/A hasattr t resolution_id N/A N/A dict resolutions N/A N/A t resolution_id None summary N/A t summary description N/A t details keywords N/A sf N/A t id N/A N/A Imported %s as #%d N/A N/A t id i N/A N/A len N/A t attachments N/A N/A attmsg SourceForge attachments:
 N/A a N/A t attachments N/A N/A attmsg N/A attmsg N/A  * [%s %s] (%s) - added by '%s' %s [[BR]]  N/A N/A N/A a url N/A t id N/A a filename N/A N/A a filesize  bytes N/A N/A user_map get N/A a submitter N/A a submitter N/A N/A time strftime %Y-%m-%d %H:%M:%S N/A N/A time localtime N/A int N/A a date N/A attmsg N/A attmsg N/A ''%s ''
 N/A N/A a description N/A N/A N/A trac addTicketComment ticket i time N/A N/A time strftime %Y-%m-%d %H:%M:%S N/A N/A time localtime N/A int N/A t submit_date author None value attmsg N/A N/A     added information about %d attachments for #%d N/A N/A len N/A t attachments i N/A msg N/A t followups N/A N/A 
                <followup>
                <id>3280792</id>
                <submitter>goblinhack</submitter>
                <date>1231087739</date>
                <details>done</details>
                </followup>
                 N/A N/A N/A trac addTicketComment ticket i time N/A msg date author N/A msg submitter value N/A msg details N/A N/A t followups N/A N/A N/A     imported %d messages for #%d N/A N/A len N/A t followups i N/A 
            <history_entry>
            <id>4452195</id>
            <field_name>resolution_id</field_name>
            <old_value>100</old_value>
            <date>1176043865</date>
            <updator>goblinhack</updator>
            </history_entry>
             N/A revision N/A N/A N/A t __dict__ copy N/A changes 0 N/A h N/A sorted N/A t history_entries reverse True N/A N/A 
                 Processed fields (field - notes):
                IP         - no target field, just skip
                summary
                priority
                close_date
                assigned_to

                 Fields not processed (field: explanation):
                File Added - TODO
                resolution_id - need to update used_resolutions
                status_id
                artifact_group_id
                category_id
                group_id
                 N/A f None N/A N/A N/A h field_name N/A IP N/A N/A changes 1 N/A N/A N/A N/A N/A h field_name N/A summary priority N/A N/A f N/A h field_name N/A oldvalue N/A h old_value N/A newvalue N/A N/A revision get N/A h field_name N/A N/A N/A N/A h field_name assigned_to N/A N/A f owner N/A newvalue N/A revision N/A assignee N/A N/A N/A h old_value 100 N/A N/A N/A revision N/A assignee None N/A oldvalue None N/A N/A username N/A N/A project users N/A N/A h old_value N/A N/A username user_map N/A N/A username N/A user_map N/A username N/A N/A revision N/A assignee oldvalue username N/A N/A N/A N/A N/A h field_name close_date N/A N/A revision N/A close_date 0 N/A N/A f status N/A oldvalue assigned N/A newvalue closed N/A f N/A N/A changes 1 N/A N/A N/A trac addTicketChange ticket i time N/A h date author N/A h updator field f oldvalue oldvalue newvalue newvalue N/A N/A N/A h field_name assigned_to N/A N/A N/A revision N/A N/A h field_name N/A h old_value N/A changes N/A N/A N/A     processed %d out of %d history items for #%d N/A changes N/A len N/A t history_entries i N/A main N/A N/A N/A N/A N/A optparse N/A p N/A N/A optparse OptionParser Usage: %prog xml_export.xml /path/to/trac/environment N/A N/A opt args N/A N/A p parse_args N/A N/A N/A len args 2 N/A N/A N/A N/A p error Incorrect number of arguments N/A N/A N/A N/A importData N/A open N/A args N/A 0 N/A args N/A 1 opt N/A N/A N/A DBNotEmpty N/A e N/A N/A N/A Error:  e N/A N/A N/A sys exit 1 N/A complete_msg N/A N/A N/A __name__ __main__ N/A N/A N/A main