Izidor Matušov has proposed merging lp:~izidor/gtg/small_features into lp:gtg.
Requested reviews: Gtg developers (gtg) Related bugs: Bug #993920 in Getting Things GNOME!: "Save backups into backup/ folder" https://bugs.launchpad.net/gtg/+bug/993920 Bug #996236 in Getting Things GNOME!: "Search filter is not deleted on emtpy search string if tag_pane is closed" https://bugs.launchpad.net/gtg/+bug/996236 For more details, see: https://code.launchpad.net/~izidor/gtg/small_features/+merge/119281 Two small features which could still make it to GTG 0.3 :) -- https://code.launchpad.net/~izidor/gtg/small_features/+merge/119281 Your team Gtg developers is requested to review the proposed merge of lp:~izidor/gtg/small_features into lp:gtg.
=== modified file 'AUTHORS' --- AUTHORS 2012-08-08 18:15:53 +0000 +++ AUTHORS 2012-08-12 23:07:21 +0000 @@ -108,3 +108,4 @@ * Nicolas Maître <[email protected]> * Abhiram <[email protected]> * Alan Gomes <[email protected]> +* Stefan Handschuh <https://launchpad.net/~handschuh> (no email provided) === modified file 'CHANGELOG' --- CHANGELOG 2012-08-12 21:17:10 +0000 +++ CHANGELOG 2012-08-12 23:07:21 +0000 @@ -45,6 +45,8 @@ * Re-enabled support for gtg:// URI * Fix for bug #1026400: script_pocketmod doesn't have execute permission * Fix for bug #1027817: Export plugin: changing output format moves widgets up and down + * Save backups into backup/ folder, creates backups of tags.xml closes #993920 + * Search filter is deleted on empty search if tag_pane is closed, by Stefan Handschuh, closes #996236 2012-02-13 Getting Things GNOME! 0.2.9 * Big refractorization of code, now using liblarch === modified file 'GTG/core/datastore.py' --- GTG/core/datastore.py 2012-07-26 17:47:06 +0000 +++ GTG/core/datastore.py 2012-08-12 23:07:21 +0000 @@ -269,7 +269,7 @@ xmlroot.appendChild(t_xml) already_saved.append(tagname) - cleanxml.savexml(self.tagfile, doc) + cleanxml.savexml(self.tagfile, doc, backup=True) ########################################################################## ### Tasks functions === modified file 'GTG/gtk/browser/browser.py' --- GTG/gtk/browser/browser.py 2012-07-13 17:24:28 +0000 +++ GTG/gtk/browser/browser.py 2012-08-12 23:07:21 +0000 @@ -1541,7 +1541,19 @@ self.search_actions = [] new_actions = [] query = self.quickadd_entry.get_text() - query=query.strip() + query = query.strip() + + # If the tag pane is hidden, reset search filter when query is empty + if query == '' and not self.config.get("tag_pane"): + tree = self.req.get_tasks_tree(refresh=False) + filters = tree.list_applied_filters() + for tag_id in self.req.get_all_tags(): + tag = self.req.get_tag(tag_id) + if tag.is_search_tag() and tag_id in filters: + self.req.remove_tag(tag_id) + self.apply_filter_on_panes(CoreConfig.ALLTASKS_TAG) + return + if query: if self.req.get_task_id(query) is not None: new_actions.append('open') === modified file 'GTG/tools/cleanxml.py' --- GTG/tools/cleanxml.py 2012-05-23 08:55:31 +0000 +++ GTG/tools/cleanxml.py 2012-08-12 23:07:21 +0000 @@ -94,6 +94,12 @@ return doc, xmlproject +def _get_backup_name(zefile): + """ Get name of backups which are in backup/ directory """ + dirname, filename = os.path.split(zefile) + return os.path.join(dirname, 'backup', filename) + + def openxmlfile(zefile, root): """ Open an XML file in a robust way @@ -115,7 +121,7 @@ return _try_openxmlfile(zefile, root) else: # Creating empty file - doc,xmlproject = emptydoc(root) + doc, xmlproject = emptydoc(root) newfile = savexml(zefile, doc) if not newfile: Log.error("Could not create a new file %s" % zefile) @@ -139,8 +145,9 @@ Log.warning('Failed with reason: %s' % msg) # Try to revert to backup + backup_name = _get_backup_name(zefile) for i in range(BACKUP_NBR): - backup_file = "%s.bak.%d" % (zefile, i) + backup_file = "%s.bak.%d" % (backup_name, i) if os.path.exists(backup_file): Log.info("Trying to restore backup file %s" % backup_file) try: @@ -158,11 +165,22 @@ rootproject = doc.createElement(root) doc.appendChild(rootproject) return doc, rootproject - + #write a XML doc to a file def savexml(zefile,doc,backup=False): # print "writing %s file" %(zefile) tmpfile = zefile+'__' + backup_name = _get_backup_name(zefile) + + # Create backup directory + backup_dir = os.path.dirname(backup_name) + if not os.path.exists(backup_dir): + try: + os.makedirs(backup_dir) + except IOError as error: + print "Error while creating backup/ directory:", msg + return False + try: if os.path.exists(zefile): os.rename(zefile, tmpfile) @@ -185,17 +203,18 @@ #We keep BACKUP_NBR versions of the file #The 0 is the youngest one while backup_nbr > 0 : - older = "%s.bak.%s" %(zefile,backup_nbr) + older = "%s.bak.%s" % (backup_name, backup_nbr) backup_nbr -= 1 - newer = "%s.bak.%s" %(zefile,backup_nbr) + newer = "%s.bak.%s" % (backup_name, backup_nbr) if os.path.exists(newer) : shutil.move(newer,older) #The bak.0 is always a fresh copy of the closed file #So that it's not touched in case of bad opening next time - current = "%s.bak.0" %(zefile) + current = "%s.bak.0" % backup_name shutil.copy(zefile,current) - daily_backup = "%s.%s.bak" % (zefile, datetime.date.today().strftime("%Y-%m-%d")) + daily_backup = "%s.%s.bak" % (backup_name, + datetime.date.today().strftime("%Y-%m-%d")) if not os.path.exists(daily_backup): shutil.copy(zefile, daily_backup) return True
_______________________________________________ Mailing list: https://launchpad.net/~gtg Post to : [email protected] Unsubscribe : https://launchpad.net/~gtg More help : https://help.launchpad.net/ListHelp

