diff options
author | Dominik Kriegner <dominik.kriegner@gmail.com> | 2017-07-13 09:39:29 +0200 |
---|---|---|
committer | Dominik Kriegner <dominik.kriegner@gmail.com> | 2017-07-13 09:39:29 +0200 |
commit | e4980d0006bbcdf78c25b1b8b95d760b67aadb61 (patch) | |
tree | 0b730c6b8d8ac8e74b61366216c96dca637f8137 /app-text | |
parent | improve netvirt ebuild (diff) | |
download | anaximander-e4980d0006bbcdf78c25b1b8b95d760b67aadb61.tar.gz anaximander-e4980d0006bbcdf78c25b1b8b95d760b67aadb61.tar.bz2 anaximander-e4980d0006bbcdf78c25b1b8b95d760b67aadb61.zip |
update referencer ebuild (patches merged upstream)
Diffstat (limited to 'app-text')
-rw-r--r-- | app-text/referencer/Manifest | 4 | ||||
-rw-r--r-- | app-text/referencer/files/referencer-1.2.2-lib_path.patch | 20 | ||||
-rw-r--r-- | app-text/referencer/files/referencer-9999-expj.patch | 692 | ||||
-rw-r--r-- | app-text/referencer/referencer-9999.ebuild | 6 |
4 files changed, 3 insertions, 719 deletions
diff --git a/app-text/referencer/Manifest b/app-text/referencer/Manifest index 1254f48..4f7b9fe 100644 --- a/app-text/referencer/Manifest +++ b/app-text/referencer/Manifest @@ -1,4 +1,2 @@ -AUX referencer-1.2.2-lib_path.patch 717 SHA256 c61d458901a83ebd560925caaca3483038f273c4ffc29fc51e0aea2f36f721ba SHA512 b4c75c313880dd2c4b9e486216d304aebea30377c6a06449255fc3deebe5341b345b5e4b26cdecf903151f013f110075646ea42f186248878e147205c0186f43 WHIRLPOOL 4a72cf6efe672fa730d8667b5e5a8f7038ca7ab149964aede660015376ef1acc248ae50a57d20aadea917127fa46ab01ff10f6a99892318376476c100c69e365 -AUX referencer-9999-expj.patch 29272 SHA256 52c997cf92fa21204fb4f106da89288e70da83f69ef8cd705fc1d28eb3a5e379 SHA512 85d806fe9291ad67c244484ba69463fe368199abd0f22cf97af0322785f3fd4a3c0a187989c5bad397df91217a1f96d79383cbba82d824ebe152aac23fd3e85b WHIRLPOOL d8e92cb7b1a918af02659b2f9ae0c92a9e45e0737a7ce04ccf77cebc1ebd7ec320304701b040d401198675545b4c5f47120f9a85d98405263310eadb747d86ef -EBUILD referencer-9999.ebuild 1234 SHA256 b5a1f04d511801a24a28958faec29de93a706dc1a6aa866343d257f2b69c5ea1 SHA512 2f2d8f3b6e474f65d1183b6e62d6c7e355f29b563464436c44b1470a23d5eee75ca6aed4af823db4f32a72a09e6fed5c950df7b840e8ee89707b27db09680d28 WHIRLPOOL 9f23fc7bcf78ebdb9b382c0df9088725e45a81fe465afd1d8b24878566745ff9a1824c94aa0351293e456de65cbe94ef18262c1a3f3a7b88478c8da54c7f1239 +EBUILD referencer-9999.ebuild 1145 SHA256 0885e7602a1606d3768d9d7c82f1b29d1af03fb719359110b1a0dcb4f0bb8f11 SHA512 328cbff3e06d6fe8007df3f0eaaa988545aa372639574cfe550495e821dc1ee1bccbb2a03430401838cf182434351162a78356981723c2b80b321c7754d6d307 WHIRLPOOL 9ff6809f10a066267b071bdaacee8dfac319e9e7ab43c78009d939109c6afd25dc0a296263558c55f7c75a8b6f93d5720ca97b58b55048ed36220a1c8b8f3200 MISC metadata.xml 585 SHA256 08af35da00d1dc9934a47e8a33530be93ba0bfde7bc01c59386f9faf89a5edea SHA512 78bd555ab7a76775a947075cd72911fa169c9b86fc5d6b35ea83c3e734b995122d6f9719544d40f35ffd4a6fc4b90acd9499d0a8abdb0ece196f08e83e43b731 WHIRLPOOL 8ff33a76245462b54cd9843aa243f575e1aff07109c5551069aab13cdca4c4189fb66e7e8945a0f5ecd30620df2ddce0655396339fde808d5021c26a58f92fab diff --git a/app-text/referencer/files/referencer-1.2.2-lib_path.patch b/app-text/referencer/files/referencer-1.2.2-lib_path.patch deleted file mode 100644 index b7011eb..0000000 --- a/app-text/referencer/files/referencer-1.2.2-lib_path.patch +++ /dev/null @@ -1,20 +0,0 @@ -From: Dominik Kriegner <dominik.kriegner@gmail.com> -Date: Tue, 29 Nov 2016 09:56:00 +0000 -Subject: [PATCH] fix build issue -Patch's original author is Askhat Bakarov on arch -https://aur.archlinux.org/cgit/aur.git/commit/?h=referencer&id=961f2b5e4b286f27f610e5267465c63021b8a50f - -Project-Bug-URL: https://bugs.launchpad.net/referencer/+bug/1645639 -Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=601174 - ---- a/src/Document.C 2014-01-27 03:43:00.000000000 +0700 -+++ b/src/Document.C 2016-11-03 16:25:00.698676538 +0700 -@@ -297,7 +297,7 @@ - - lib_path = lib_path->get_parent(); - up_dir_level += "../"; -- if (lib_path == 0) { -+ if (!lib_path) { - doc_is_relative_to_library = false; - break; - } diff --git a/app-text/referencer/files/referencer-9999-expj.patch b/app-text/referencer/files/referencer-9999-expj.patch deleted file mode 100644 index 41f08ae..0000000 --- a/app-text/referencer/files/referencer-9999-expj.patch +++ /dev/null @@ -1,692 +0,0 @@ -From: Dominik Kriegner <dominik.kriegner@gmail.com> -Date: Tue, 29 Nov 2016 09:56:00 +0000 -Subject: [PATCH] fix several issues in expj plugin - -Project-Bug-URL: https://bugs.launchpad.net/referencer/+bug/1645639 -Gentoo-Bug-URL: none - ---- a/plugins/expj.py 2015-04-14 08:14:03 +0000 -+++ b/plugins/expj.py 2015-09-09 15:35:43 +0000 -@@ -2,60 +2,61 @@ - # -*- coding: utf-8 -*- - - # Referencer plugin to expand/shorten Journal names using a database file --# --# Copyright 2014 Dominik Kriegner <dominik.kriegner@gmail.com> -+# -+# Copyright 2014-2015 Dominik Kriegner <dominik.kriegner@gmail.com> - - """ --Referencer - plugin for expanding and shortening journal names. --The short and long versions of the journal names are read from a database. -- --The journal name database syntax follows the one used by JabRef --see http://jabref.sourceforge.net/resources.php for details --Example files with a lot of already defined Abbreviations can be found at this --web page -- --Briefly: lines starting with '#' are considered comments --and a typical entry is -+Referencer - plugin for expanding and shortening journal names. The short and -+long versions of the journal names are read from a database. -+ -+The journal name database syntax follows the one used by JabRef see -+http://jabref.sourceforge.net/resources.php for details Example files with a -+lot of already defined Abbreviations can be found at this web page -+ -+Briefly: lines starting with '#' are considered comments and a typical entry is - - <full name> = <abbreviation> - --Currently this means the names are not allowed to contain a '=' --example of an entry would be: -+Currently this means the names are not allowed to contain a '=' example of an -+entry would be: - - Physical Review B = Phys. Rev. B - --The database file is read from the plugin directory were also the Python source code --is located. -+The database file is read from the plugin directory were also the Python source -+code is located. - --after a lot of new Journal names were added the journal database can be sorted easily using --cat expj_journaldb.txt | sort > expj_journaldb_ordered.txt --mv expj_journaldb_ordered.txt expj_journaldb.txt -+after a lot of new Journal names were added the journal database can be sorted -+easily using cat expj_journaldb.txt | sort > expj_journaldb_ordered.txt mv -+expj_journaldb_ordered.txt expj_journaldb.txt - """ - - import os --import urllib2 -+import sys -+import urllib -+ -+import gtk # for dialogs -+import string # for string handling -+import difflib # to find closest matching entry for replacement -+ - import referencer - from referencer import _ - --import gtk # for dialogs --import string # for string handling --import difflib # to find closest matching entry for replacement -- --USERPLDIR = os.path.join(os.path.expanduser("~"), ".referencer","plugins") # os.path.dirname(os.path.realpath(__file__)) -- -+USERPLDIR = os.path.join(os.path.expanduser("~"), ".referencer", "plugins") - DBs = [] --DBs.append(os.path.join(USERPLDIR,"expj_journaldb_user.txt")) --DBs.append(os.path.join(USERPLDIR,"expj_journaldb_base.txt")) -- --DEFAULTMAXSUGGESTIONS = 5 # number of suggestions displayed in case no exact match is found --DEFAULTDOWNLOAD = "http://jabref.sourceforge.net/journals/journal_abbreviations_general.txt" -- --DEBUG = True -+DBs.append(os.path.join(USERPLDIR, "expj_journaldb_user.txt")) -+DBs.append(os.path.join(USERPLDIR, "expj_journaldb_base.txt")) -+ -+DEFAULTMAXSUGGESTIONS = 5 # number of suggestions when no exact match is found -+DEFAULTDOWNLOAD = "https://raw.githubusercontent.com/JabRef/" \ -+ "reference-abbreviations/master/journals/" \ -+ "journal_abbreviations_general.txt" -+ -+DEBUG = False - - referencer_plugin_info = { - "longname": _("Expand and abbreviate Journal names"), - "author": "Dominik Kriegner", -- "version": "0.2.0", -+ "version": "0.3.0", - "ui": - """ - <ui> -@@ -83,25 +84,26 @@ - - referencer_plugin_actions = [ - { -- "name": "_plugin_expj_expand", -- "label": _("Expand Journal Name"), -- "tooltip": _("Expand the Journal title to the long form"), -- "icon": "expj_expand.svg", -- "callback": "do_expand", -- "accelerator": "<control><shift>E" -+ "name": "_plugin_expj_expand", -+ "label": _("Expand Journal Name"), -+ "tooltip": _("Expand the Journal title to the long form"), -+ "icon": "expj_expand.svg", -+ "callback": "do_expand", -+ "accelerator": "<control><shift>E" - }, - { -- "name": "_plugin_expj_shorten", -- "label": _("Shorten Journal Name"), -- "tooltip": _("Shorten the Journal title to the abbreviated form"), -- "icon": "expj_shorten.svg", -- "callback": "do_shorten", -- "accelerator": "<control><shift>C" -+ "name": "_plugin_expj_shorten", -+ "label": _("Shorten Journal Name"), -+ "tooltip": _("Shorten the Journal title to the abbreviated form"), -+ "icon": "expj_shorten.svg", -+ "callback": "do_shorten", -+ "accelerator": "<control><shift>C" - } - ] - - # try opening the database --# when this fails the plugin will still be loaded and a hint will be shown in all the dialogs -+# when this fails the plugin will still be loaded and a hint will be shown in -+# all the related dialogs - DISPHINT = True - for fname in DBs: - try: -@@ -110,76 +112,89 @@ - except IOError: - pass - --# create the lists for expansion and shortening -+# create the lists for expansion and shortening - expanded = [] - contracted = [] - --def do_expand (library, documents): -- """ -- perform shortening of Journal names for listed documents -- """ -- global expanded,contracted -+ -+def do_expand(library, documents): -+ """ -+ perform shortening of Journal names for listed documents -+ """ -+ global expanded, contracted, DISPHINT - if len(expanded) == 0: - # on first use of the plugin the database has to be loaded - load_db() - - for doc in documents: -- # check if it is a article -- pass # seems this is not necessary because asking for journal name on not articles -- # returns an empty string - # get current journal field - shortv = doc.get_field('journal') - repl = shortv - if shortv != "": -+ sv = shortv.strip().lower() - try: - # try direct lookup in database -- idx = map(string.lower,contracted).index(shortv.strip().lower()) -+ idx = map(string.lower, contracted).index(sv) - repl = expanded[idx] - except ValueError: -- try: # check if journal name is already the expanded version -- idx = map(string.lower,expanded).index(shortv.strip().lower()) -+ try: # check if journal name is already the expanded version -+ idx = map(string.lower, expanded).index(sv) - if idx: - continue - except: - pass - # no exact match was found, we will ask the user what to do -- match = difflib.get_close_matches(shortv,contracted,DEFAULTMAXSUGGESTIONS) # find 5 most likely replacements -+ # find 5 most likely replacements -+ match = difflib.get_close_matches(shortv, contracted, -+ DEFAULTMAXSUGGESTIONS) - # Prompt the user for the correct entry -- dialog = gtk.Dialog(buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, gtk.STOCK_OK, gtk.RESPONSE_ACCEPT)) -+ dialog = gtk.Dialog(buttons=(gtk.STOCK_CANCEL, -+ gtk.RESPONSE_REJECT, -+ gtk.STOCK_OK, -+ gtk.RESPONSE_ACCEPT)) - dialog.set_has_separator(False) - dialog.vbox.set_spacing(6) - dialog.set_default_response(gtk.RESPONSE_ACCEPT) - - if DISPHINT: -- text = _('No Journal name database found: consider checking the plugin configuration dialog to download a prepared list') -+ text = _('No Journal name database found: consider ' -+ 'checking the plugin configuration dialog to ' -+ 'download a prepared list') - label = gtk.Label(text) - label.set_line_wrap(True) - image = gtk.Image() -- image.set_from_stock(gtk.STOCK_DIALOG_INFO,gtk.ICON_SIZE_DIALOG) -+ image.set_from_stock(gtk.STOCK_DIALOG_INFO, -+ gtk.ICON_SIZE_DIALOG) - hbox = gtk.HBox() - hbox.pack_start(image) - hbox.pack_start(label) -- dialog.vbox.pack_start(hbox,padding=3) -+ dialog.vbox.pack_start(hbox, padding=3) - -- if len(match)==0: -- label = gtk.Label(_("No match found in database!\nEnter replacement entry for journal") + " '%s'"%(shortv)) -+ if len(match) == 0: -+ label = gtk.Label(_("No match found in database!\nEnter " -+ "replacement entry for journal") + -+ " '%s'" % (shortv)) - else: -- label = gtk.Label(_("No exact match found!\nChoose correct entry for journal") + " '%s'"%(shortv)) -+ label = gtk.Label(_("No exact match found!\n" -+ "Choose correct entry for journal") + -+ " '%s'" % (shortv)) - dialog.vbox.pack_start(label) - for i in range(len(match)): -- if i==0: -- rb = gtk.RadioButton(None,expanded[contracted.index(match[i])]) -+ rbname = expanded[contracted.index(match[i])] -+ if i == 0: -+ rb = gtk.RadioButton(None, rbname) - rb.set_active(True) - else: -- rb = gtk.RadioButton(rb,expanded[contracted.index(match[i])]) -+ rb = gtk.RadioButton(rb, rbname) - dialog.vbox.pack_start(rb) - -- hbox = gtk.HBox (spacing=6) -- if len(match)!=0: -- rb = gtk.RadioButton(rb,_("Custom:")) -+ hbox = gtk.HBox(spacing=6) -+ if len(match) != 0: -+ rb = gtk.RadioButton(rb, _("Custom:")) - else: - rb = gtk.Label(_("Replacement:")) -- def activate_custom(widget,rb): -+ -+ def activate_custom(widget, rb): - """ - the custom entry will be activated upon a text entry - """ -@@ -188,9 +203,10 @@ - entry = gtk.Entry() - entry.set_text(_("journal name")) - entry.set_activates_default(True) -- entry.select_region(0,len(entry.get_text())) -- if len(match)!=0: entry.connect("changed",activate_custom,rb) -- -+ entry.select_region(0, len(entry.get_text())) -+ if len(match) != 0: -+ entry.connect("changed", activate_custom, rb) -+ - dialog.vbox.pack_start(hbox) - hbox.pack_start(rb) - hbox.pack_start(entry) -@@ -205,13 +221,13 @@ - dialog.hide() - - if (response == gtk.RESPONSE_REJECT): -- continue # do not change anthing and continue with next document -- -+ continue # do not change anthing and continue -+ - # obtain users choice -- if len(match)!=0: -- active_radio = [r for r in rb.get_group() if r.get_active()][0] -- if active_radio.get_label() != _("Custom:"): -- repl = active_radio.get_label() -+ if len(match) != 0: -+ active_r = [r for r in rb.get_group() if r.get_active()][0] -+ if active_r.get_label() != _("Custom:"): -+ repl = active_r.get_label() - else: - repl = entry.get_text() - else: -@@ -222,79 +238,93 @@ - expanded.append(repl) - contracted.append(shortv) - save_db() -- -+ - # change the journal name -- doc.set_field('journal',repl) -- if DEBUG: -- print("expj: changed journal entry from '%s' to '%s'"%(shortv,repl)) -+ doc.set_field('journal', repl) -+ if DEBUG: -+ print("expj: changed journal entry from '%s' to '%s'" -+ % (shortv, repl)) - - return True - --def do_shorten (library, documents): -- """ -- perform shortening of Journal names for listed documents -- """ -- global expanded,contracted -+ -+def do_shorten(library, documents): -+ """ -+ perform shortening of Journal names for listed documents -+ """ -+ global expanded, contracted, DISPHINT - if len(expanded) == 0: - # on first use of the plugin the database has to be loaded - load_db() -- -+ - for doc in documents: -- # check if it is a article -- pass # seems this is not necessary because asking for journal name on not articles -- # returns an empty string - # get current journal field - longv = doc.get_field('journal') - repl = longv - if longv != "": -- try: # look for exact match in database -- idx = map(string.lower,expanded).index(longv.strip().lower()) -+ lv = longv.strip().lower() -+ try: # look for exact match in database -+ idx = map(string.lower, expanded).index(lv) - repl = contracted[idx] - except ValueError: -- try: # check if journal name is already the shortened version -- idx = map(string.lower,contracted).index(longv.strip().lower()) -+ try: # check if journal name is already the shortened version -+ idx = map(string.lower, contracted).index(lv) - if idx: - continue - except: - pass - # no exact match was found, we will ask the user what to do -- match = difflib.get_close_matches(longv,expanded,DEFAULTMAXSUGGESTIONS) # find 5 most likely replacements -+ # find 5 most likely replacements -+ match = difflib.get_close_matches(longv, expanded, -+ DEFAULTMAXSUGGESTIONS) - # Prompt the user for the correct entry -- dialog = gtk.Dialog(buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, gtk.STOCK_OK, gtk.RESPONSE_ACCEPT)) -+ dialog = gtk.Dialog(buttons=(gtk.STOCK_CANCEL, -+ gtk.RESPONSE_REJECT, -+ gtk.STOCK_OK, -+ gtk.RESPONSE_ACCEPT)) - dialog.set_has_separator(False) - dialog.vbox.set_spacing(6) - dialog.set_default_response(gtk.RESPONSE_ACCEPT) -- -+ - if DISPHINT: -- text = _('No Journal name database found: consider checking the plugin configuration dialog to download a prepared list') -+ text = _('No Journal name database found: consider ' -+ 'checking the plugin configuration dialog to ' -+ 'download a prepared list') - label = gtk.Label(text) - label.set_line_wrap(True) - image = gtk.Image() -- image.set_from_stock(gtk.STOCK_DIALOG_INFO,gtk.ICON_SIZE_DIALOG) -+ image.set_from_stock(gtk.STOCK_DIALOG_INFO, -+ gtk.ICON_SIZE_DIALOG) - hbox = gtk.HBox() - hbox.pack_start(image) - hbox.pack_start(label) -- dialog.vbox.pack_start(hbox,padding=3) -+ dialog.vbox.pack_start(hbox, padding=3) - -- if len(match)==0: -- label = gtk.Label(_("No match found in database!\nEnter replacement entry for journal") + " '%s'"%(longv)) -+ if len(match) == 0: -+ label = gtk.Label(_("No match found in database!\nEnter " -+ "replacement entry for journal") + -+ " '%s'" % (longv)) - else: -- label = gtk.Label(_("No exact match found!\nChoose correct entry for journal") + " '%s'"%(longv)) -+ label = gtk.Label(_("No exact match found!\n" -+ "Choose correct entry for journal") + -+ " '%s'" % (longv)) - dialog.vbox.pack_start(label) - for i in range(len(match)): -- if i==0: -- rb = gtk.RadioButton(None,contracted[expanded.index(match[i])]) -+ rbname = contracted[expanded.index(match[i])] -+ if i == 0: -+ rb = gtk.RadioButton(None, rbname) - rb.set_active(True) - else: -- rb = gtk.RadioButton(rb,contracted[expanded.index(match[i])]) -+ rb = gtk.RadioButton(rb, rbname) - dialog.vbox.pack_start(rb) - -- hbox = gtk.HBox (spacing=6) -- if len(match)!=0: -- rb = gtk.RadioButton(rb,_("Custom:")) -+ hbox = gtk.HBox(spacing=6) -+ if len(match) != 0: -+ rb = gtk.RadioButton(rb, _("Custom:")) - else: - rb = gtk.Label(_("Replacement:")) -- def activate_custom(widget,rb): -+ -+ def activate_custom(widget, rb): - """ - the custom entry will be activated upon a text entry - """ -@@ -303,15 +333,16 @@ - entry = gtk.Entry() - entry.set_text(_("journal abbreviation")) - entry.set_activates_default(True) -- entry.select_region(0,len(entry.get_text())) -- if len(match)!=0: entry.connect("changed",activate_custom,rb) -- -+ entry.select_region(0, len(entry.get_text())) -+ if len(match) != 0: -+ entry.connect("changed", activate_custom, rb) -+ - dialog.vbox.pack_start(hbox) - hbox.pack_start(rb) - hbox.pack_start(entry) - dialog.vbox.pack_start(hbox) - dialog.set_focus(entry) -- -+ - cb = gtk.CheckButton(label=_("Add replacement to database")) - dialog.vbox.pack_start(cb) - -@@ -320,13 +351,13 @@ - dialog.hide() - - if (response == gtk.RESPONSE_REJECT): -- continue # do not change anthing and continue with next document -- -+ continue # do not change anthing and continue -+ - # obtain users choice -- if len(match)!=0: -- active_radio = [r for r in rb.get_group() if r.get_active()][0] -- if active_radio.get_label() != _("Custom:"): -- repl = active_radio.get_label() -+ if len(match) != 0: -+ active_r = [r for r in rb.get_group() if r.get_active()][0] -+ if active_r.get_label() != _("Custom:"): -+ repl = active_r.get_label() - else: - repl = entry.get_text() - else: -@@ -337,86 +368,118 @@ - expanded.append(longv) - contracted.append(repl) - save_db() -- -+ - # change the journal name -- doc.set_field('journal',repl) -- if DEBUG: -- print("expj: changed journal entry from '%s' to '%s'"%(longv,repl)) -+ doc.set_field('journal', repl) -+ if DEBUG: -+ print("expj: changed journal entry from '%s' to '%s'" -+ % (longv, repl)) - - return True - -+ - def load_db(): - """ - Load Journal names from database file upon first use of the module - """ -- global expanded,contracted,DISPHINT -+ global expanded, contracted, DISPHINT - for fname in DBs: - try: - with open(fname) as fh: - for line in fh.readlines(): - splitline = line.strip().split('=') - if len(splitline) == 2: -- longv,shortv = splitline -+ longv, shortv = splitline - expanded.append(longv.strip()) - contracted.append(shortv.strip()) - elif DEBUG: -- print("expj: unparsable line in Journal name database (%s)"%line.strip()) -- DISPHINT = False # at least one file was loaded so remove the hint -+ print("expj: unparsable line in Journal name database " -+ "(%s)" % line.strip()) -+ DISPHINT = False # at least one file was loaded so remove the hint - except IOError: -- pass #raise IOError("Database file for plugin expj could not be loaded.") -+ pass -+ - - def save_db(): - """ - Save current database to text file to keep changes for next - start of Referencer - """ -- global expanded,contracted -+ global expanded, contracted - try: - if not os.path.exists(os.path.dirname(DBs[0])): - os.makedirs(os.path.dirname(DBs[0])) -- with open(DBs[0],'a') as fh: -+ with open(DBs[0], 'a') as fh: - newentry = expanded[-1] - newentry += " = " - newentry += contracted[-1] - fh.write(newentry + '\n') - except IOError: - if DEBUG: -- print("expj: changes to Journal name database could not be written! (File: %s)"%DBs[0]) -- #raise IOError("Database file for plugin expj could not be written.") -+ print("expj: changes to Journal name database could not be " -+ "written! (File: %s)" % DBs[0]) -+ - - def download_db(link): - """ -- Download Journal name database from the given link and save it to the database file, -- afterwards trigger a reread of all databases -+ Download Journal name database from the given link and save it to the -+ database file, afterwards trigger a reread of all databases - """ -- global expanded,contracted -+ global expanded, contracted -+ -+ def dlProgress(count, blockSize, totalSize): -+ percent = int(count * blockSize * 100 / totalSize) -+ # if one finds an easy way how to bring this info back in the GUI -+ # feel free to insert your code here -+ if DEBUG: -+ sys.stdout.write('.') -+ if percent >= 100: -+ sys.stdout.write('\n') -+ sys.stdout.flush() -+ - if DEBUG: -- print("expj: Download link '%s'"%link) -+ print("expj: Download link '%s'" % link) - try: -- response = urllib2.urlopen(link) -- except ValueError, err: -- downloadException(err.message) -+ filename, headers = urllib.urlretrieve(link, reporthook=dlProgress) -+ except IOError as err: -+ downloadException(err.strerror) - return - -- # assume download was fine - # check typ of download before proceeding -- if response.headers.type != 'text/plain': -- downloadException("Document type must be text/plain and not %s"%response.headers.type) -- return -- # write to base database -+ if headers.type != 'text/plain': -+ downloadException("Document type must be text/plain and not %s" -+ % headers.type) -+ return -+ # get download -+ with open(filename) as fid: -+ # check number of valid entries -+ validlines = [] -+ for line in fid: -+ splitline = line.strip().split('=') -+ if len(splitline) == 2: -+ validlines.append(line) -+ if len(validlines) == 0: -+ downloadException('No valid entries found in download!') -+ return -+ # write to base database - if not os.path.exists(os.path.dirname(DBs[1])): - os.makedirs(os.path.dirname(DBs[1])) -- with open(DBs[1],'w') as fh: -- fh.write(response.read()) -+ with open(DBs[1], 'w') as fh: -+ for line in validlines: -+ fh.write(line) -+ if DEBUG: -+ print("expj: written %d entries into Journal name database!" -+ % len(validlines)) - # clean old databases to trigger reload upon next usage - expanded = [] -- contracted = [] -+ contracted = [] -+ - - class downloadException(gtk.Dialog): -- def __init__(self, parent=None): -- gtk.Dialog.__init__(self,errmsg,"expj plugin", -+ def __init__(self, errmsg, parent=None): -+ gtk.Dialog.__init__(self, "expj plugin", - parent, -- gtk.DIALOG_MODAL | -+ gtk.DIALOG_MODAL | - gtk.DIALOG_DESTROY_WITH_PARENT, - (gtk.STOCK_OK, gtk.RESPONSE_OK)) - text = """ -@@ -426,49 +489,61 @@ - "%s" - - Check the specified link and try again --""" %errmsg -+""" % errmsg -+ - label = gtk.Label() - label.set_markup(text) - self.vbox.pack_start(label) - self.vbox.show_all() -+ self.run() -+ self.destroy() -+ - - class preferencesDialog(gtk.Dialog): -- def __init__(self, parent = None): -- gtk.Dialog.__init__(self,"expj plugin configuration", -+ def __init__(self, parent=None): -+ gtk.Dialog.__init__(self, "expj plugin configuration", - parent, -- gtk.DIALOG_MODAL | -+ gtk.DIALOG_MODAL | - gtk.DIALOG_DESTROY_WITH_PARENT, - (gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT, - gtk.STOCK_OK, gtk.RESPONSE_OK)) -- #vbox = gtk.VBox() -+ - label = gtk.Label(_("Journal name database download link:")) - self.dllink = gtk.Entry() - self.dllink.set_text(DEFAULTDOWNLOAD) - -- self.vbox.pack_start(label,padding=3) -- self.vbox.pack_start(self.dllink,padding=3) -- -+ self.vbox.pack_start(label, padding=3) -+ self.vbox.pack_start(self.dllink, padding=3) -+ - hbox = gtk.HBox() -- text = _('The above link should direct to a text file following the syntax described on the JabRef web page where also other possible useful Journal name database files can be found.\n<a href="http://jabref.sourceforge.net/resources.php">http://jabref.sourceforge.net/resources.php</a>\nBe aware that the downloaded file will replace your current Journal name database. Your custom entries saved in a separate file will remain unchanged!') -+ text = _('The above link should direct to a text file following the ' -+ 'syntax described on the JabRef web page where also other ' -+ 'possible useful Journal name database files can be found.\n' -+ '<a href="http://jabref.sourceforge.net/resources.php">' -+ 'http://jabref.sourceforge.net/resources.php</a>\nBe aware ' -+ 'that the downloaded file will replace your current Journal ' -+ 'name database. Your custom entries saved in a separate file ' -+ 'will remain unchanged!') - label = gtk.Label() - label.set_markup(text) - label.set_line_wrap(True) - image = gtk.Image() -- image.set_from_stock(gtk.STOCK_DIALOG_INFO,gtk.ICON_SIZE_DIALOG) -+ image.set_from_stock(gtk.STOCK_DIALOG_INFO, gtk.ICON_SIZE_DIALOG) - hbox.pack_start(image) - hbox.pack_start(label) -- self.vbox.pack_start(hbox,padding=3) -+ self.vbox.pack_start(hbox, padding=3) - self.vbox.show_all() - -+ - # Main referencer preferences function - def referencer_config(): - """ - function run by the referencer plugin configure button found in -- Edit -> Preferences -+ Edit -> Preferences - """ - prefs = preferencesDialog() - response = prefs.run() -+ link = prefs.dllink.get_text() -+ prefs.destroy() - if response == int(gtk.RESPONSE_OK): -- download_db(prefs.dllink.get_text()) -- -- prefs.destroy() -+ download_db(link) - diff --git a/app-text/referencer/referencer-9999.ebuild b/app-text/referencer/referencer-9999.ebuild index 3bf57bb..91a3f3d 100644 --- a/app-text/referencer/referencer-9999.ebuild +++ b/app-text/referencer/referencer-9999.ebuild @@ -1,6 +1,5 @@ -# Copyright 1999-2015 Gentoo Foundation +# Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: $ EAPI="6" @@ -36,8 +35,7 @@ DEPEND="${RDEPEND} dev-util/intltool app-text/rarian" -PATCHES="${FILESDIR}/${PN}-1.2.2-lib_path.patch - ${FILESDIR}/${PN}-${PV}-expj.patch" +PATCHES="" src_prepare () { default |