[hamster-applet] "on my desk", "my report" and "some assembly required" trophies



commit d47110f1a8c72e01cbdcc650aacef3ca23717fb0
Author: Toms Bauģis <toms baugis gmail com>
Date:   Fri Aug 20 10:34:26 2010 +0100

    "on my desk", "my report" and "some assembly required" trophies

 src/hamster/reports.py |   24 +++++++++++++++++++-----
 1 files changed, 19 insertions(+), 5 deletions(-)
---
diff --git a/src/hamster/reports.py b/src/hamster/reports.py
index 5ae8709..af11122 100644
--- a/src/hamster/reports.py
+++ b/src/hamster/reports.py
@@ -18,19 +18,19 @@
 
 # You should have received a copy of the GNU General Public License
 # along with Project Hamster.  If not, see <http://www.gnu.org/licenses/>.
-import stuff
 import os, sys
 import datetime as dt
 from xml.dom.minidom import Document
 import csv
-from hamster.i18n import C_
-from hamster.configuration import runtime
 import copy
 import itertools
 import re
-
 from string import Template
 
+from i18n import C_
+from configuration import runtime
+import stuff, trophies
+
 def simple(facts, start_date, end_date, format, path):
     facts = copy.deepcopy(facts) # dont want to do anything bad to the input
     report_path = stuff.locale_from_utf8(path)
@@ -46,6 +46,16 @@ def simple(facts, start_date, end_date, format, path):
 
     writer.write_report(facts)
 
+    # some assembly required - hidden - saved a report for single day
+    if start_date == end_date:
+        trophies.unlock("some_assembly_required")
+
+    # I want this on my desk - generated over 10 different reports
+    if trophies.check("on_my_desk") == False:
+        current = trophies.increment("reports_generated")
+        if current == 10:
+            trophies.unlock("on_my_desk")
+
 
 class ReportWriter(object):
     #a tiny bit better than repeating the code all the time
@@ -180,7 +190,8 @@ class HTMLWriter(ReportWriter):
 
 
         # read the template, allow override
-        if os.path.exists(os.path.join(runtime.home_data_dir, "report_template.html")):
+        self.override = os.path.exists(os.path.join(runtime.home_data_dir, "report_template.html"))
+        if self.override:
             template = os.path.join(runtime.home_data_dir, "report_template.html")
         else:
             template = os.path.join(runtime.data_dir, "report_template.html")
@@ -326,5 +337,8 @@ class HTMLWriter(ReportWriter):
         )
         report.write(Template(self.main_template).safe_substitute(data))
 
+        if self.override:
+            # my report is better than your report - overrode and ran the default report
+            trophies.unlock("my_report")
 
         return



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]