pylint improvements
This commit is contained in:
@@ -20,14 +20,16 @@
|
|||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
"""
|
||||||
|
base class for generating dialogs for docgen-derived reports
|
||||||
|
"""
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# Python modules
|
# Python modules
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
import os
|
import os
|
||||||
from gramps.gen.const import GRAMPS_LOCALE as glocale
|
|
||||||
_ = glocale.translation.gettext
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@@ -41,10 +43,13 @@ from gi.repository import Gtk
|
|||||||
# Gramps modules
|
# Gramps modules
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
|
from gramps.gen.const import GRAMPS_LOCALE as glocale
|
||||||
|
_ = glocale.translation.gettext
|
||||||
from gramps.gen.config import config
|
from gramps.gen.config import config
|
||||||
from ._reportdialog import ReportDialog
|
from ._reportdialog import ReportDialog
|
||||||
from ._papermenu import PaperFrame
|
from ._papermenu import PaperFrame
|
||||||
from ...pluginmanager import GuiPluginManager
|
from ...pluginmanager import GuiPluginManager
|
||||||
|
|
||||||
PLUGMAN = GuiPluginManager.get_instance()
|
PLUGMAN = GuiPluginManager.get_instance()
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
@@ -64,15 +69,22 @@ class DocReportDialog(ReportDialog):
|
|||||||
|
|
||||||
self.style_name = "default"
|
self.style_name = "default"
|
||||||
self.firstpage_added = False
|
self.firstpage_added = False
|
||||||
self.CSS = PLUGMAN.process_plugin_data('WEBSTUFF')
|
self.css = PLUGMAN.process_plugin_data('WEBSTUFF')
|
||||||
self.dbname = dbstate.db.get_dbname()
|
self.dbname = dbstate.db.get_dbname()
|
||||||
ReportDialog.__init__(self, dbstate, uistate, option_class,
|
ReportDialog.__init__(self, dbstate, uistate, option_class,
|
||||||
name, trans_name)
|
name, trans_name)
|
||||||
|
|
||||||
|
self.basedocname = None # keep pylint happy
|
||||||
|
self.css_filename = None
|
||||||
|
self.doc = None
|
||||||
|
self.doc_option_class = None
|
||||||
|
self.format = None
|
||||||
|
self.html_label = None
|
||||||
|
self.paper_label = None
|
||||||
|
|
||||||
# Allow for post processing of the format frame, since the
|
# Allow for post processing of the format frame, since the
|
||||||
# show_all task calls events that may reset values
|
# show_all task calls events that may reset values
|
||||||
|
|
||||||
|
|
||||||
def init_interface(self):
|
def init_interface(self):
|
||||||
ReportDialog.init_interface(self)
|
ReportDialog.init_interface(self)
|
||||||
self.doc_type_changed(self.format_menu, preserve_tab=False)
|
self.doc_type_changed(self.format_menu, preserve_tab=False)
|
||||||
@@ -125,12 +137,14 @@ class DocReportDialog(ReportDialog):
|
|||||||
if self.firstpage_added:
|
if self.firstpage_added:
|
||||||
self.notebook.remove_page(0)
|
self.notebook.remove_page(0)
|
||||||
if docgen_plugin.get_paper_used():
|
if docgen_plugin.get_paper_used():
|
||||||
self.paper_label = Gtk.Label(label='<b>%s</b>' % _("Paper Options"))
|
self.paper_label = Gtk.Label(
|
||||||
|
label='<b>%s</b>' % _("Paper Options"))
|
||||||
self.paper_label.set_use_markup(True)
|
self.paper_label.set_use_markup(True)
|
||||||
self.notebook.insert_page(self.paper_frame, self.paper_label, 0)
|
self.notebook.insert_page(self.paper_frame, self.paper_label, 0)
|
||||||
self.paper_frame.show_all()
|
self.paper_frame.show_all()
|
||||||
else:
|
else:
|
||||||
self.html_label = Gtk.Label(label='<b>%s</b>' % _("HTML Options"))
|
self.html_label = Gtk.Label(
|
||||||
|
label='<b>%s</b>' % _("HTML Options"))
|
||||||
self.html_label.set_use_markup(True)
|
self.html_label.set_use_markup(True)
|
||||||
self.notebook.insert_page(self.html_grid, self.html_label, 0)
|
self.notebook.insert_page(self.html_grid, self.html_label, 0)
|
||||||
self.html_grid.show_all()
|
self.html_grid.show_all()
|
||||||
@@ -167,14 +181,15 @@ class DocReportDialog(ReportDialog):
|
|||||||
|
|
||||||
self.make_doc_menu(self.options.handler.get_format_name())
|
self.make_doc_menu(self.options.handler.get_format_name())
|
||||||
self.format_menu.connect('changed', self.doc_type_changed)
|
self.format_menu.connect('changed', self.doc_type_changed)
|
||||||
label = Gtk.Label(label="%s:" % _("Output Format"))
|
label = Gtk.Label(label=_("%s:") % _("Output Format"))
|
||||||
label.set_halign(Gtk.Align.START)
|
label.set_halign(Gtk.Align.START)
|
||||||
self.grid.attach(label, 1, self.row, 1, 1)
|
self.grid.attach(label, 1, self.row, 1, 1)
|
||||||
self.format_menu.set_hexpand(True)
|
self.format_menu.set_hexpand(True)
|
||||||
self.grid.attach(self.format_menu, 2, self.row, 2, 1)
|
self.grid.attach(self.format_menu, 2, self.row, 2, 1)
|
||||||
self.row += 1
|
self.row += 1
|
||||||
|
|
||||||
self.open_with_app = Gtk.CheckButton(label=_("Open with default viewer"))
|
self.open_with_app = Gtk.CheckButton(
|
||||||
|
label=_("Open with default viewer"))
|
||||||
self.open_with_app.set_active(
|
self.open_with_app.set_active(
|
||||||
config.get('interface.open-with-default-viewer'))
|
config.get('interface.open-with-default-viewer'))
|
||||||
self.grid.attach(self.open_with_app, 2, self.row, 2, 1)
|
self.grid.attach(self.open_with_app, 2, self.row, 2, 1)
|
||||||
@@ -197,12 +212,13 @@ class DocReportDialog(ReportDialog):
|
|||||||
self.target_fileentry.set_filename(spath)
|
self.target_fileentry.set_filename(spath)
|
||||||
|
|
||||||
def setup_report_options_frame(self):
|
def setup_report_options_frame(self):
|
||||||
self.paper_frame = PaperFrame(self.options.handler.get_paper_metric(),
|
""" Set up the html/paper frame of the dialog """
|
||||||
self.options.handler.get_paper_name(),
|
self.paper_frame = PaperFrame(
|
||||||
self.options.handler.get_orientation(),
|
self.options.handler.get_paper_metric(),
|
||||||
self.options.handler.get_margins(),
|
self.options.handler.get_paper_name(),
|
||||||
self.options.handler.get_custom_paper_size()
|
self.options.handler.get_orientation(),
|
||||||
)
|
self.options.handler.get_margins(),
|
||||||
|
self.options.handler.get_custom_paper_size())
|
||||||
self.setup_html_frame()
|
self.setup_html_frame()
|
||||||
ReportDialog.setup_report_options_frame(self)
|
ReportDialog.setup_report_options_frame(self)
|
||||||
|
|
||||||
@@ -216,23 +232,24 @@ class DocReportDialog(ReportDialog):
|
|||||||
self.html_grid.set_row_spacing(6)
|
self.html_grid.set_row_spacing(6)
|
||||||
self.html_grid.set_border_width(6)
|
self.html_grid.set_border_width(6)
|
||||||
|
|
||||||
label = Gtk.Label(label="%s:" % _("CSS file"))
|
label = Gtk.Label(label=_("%s:") % _("CSS file"))
|
||||||
label.set_halign(Gtk.Align.START)
|
label.set_halign(Gtk.Align.START)
|
||||||
self.html_grid.attach(label, 1, 1, 1, 1)
|
self.html_grid.attach(label, 1, 1, 1, 1)
|
||||||
|
|
||||||
self.css_combo = Gtk.ComboBoxText()
|
self.css_combo = Gtk.ComboBoxText()
|
||||||
self.css_combo.set_hexpand(True)
|
self.css_combo.set_hexpand(True)
|
||||||
|
|
||||||
css_filename = self.options.handler.get_css_filename()
|
self.css_filename = self.options.handler.get_css_filename()
|
||||||
active_index = 0
|
active_index = 0
|
||||||
index = 0
|
index = 0
|
||||||
for (name, id) in sorted([(self.CSS[key]["translation"], self.CSS[key]["id"])
|
for (name, _id) in sorted([(self.css[key]["translation"],
|
||||||
for key in self.CSS]):
|
self.css[key]["id"])
|
||||||
if self.CSS[id]["user"]:
|
for key in self.css]):
|
||||||
self.css_combo.append_text(self.CSS[id]["translation"])
|
if self.css[_id]["user"]:
|
||||||
|
self.css_combo.append_text(self.css[_id]["translation"])
|
||||||
# Associate this index number with CSS too:
|
# Associate this index number with CSS too:
|
||||||
self.CSS[index] = self.CSS[id]
|
self.css[index] = self.css[_id]
|
||||||
if css_filename == self.CSS[id]["filename"]:
|
if self.css_filename == self.css[_id]["filename"]:
|
||||||
active_index = index
|
active_index = index
|
||||||
index += 1
|
index += 1
|
||||||
|
|
||||||
@@ -254,7 +271,11 @@ class DocReportDialog(ReportDialog):
|
|||||||
displayed on the screen. The subclass will know whether this
|
displayed on the screen. The subclass will know whether this
|
||||||
entry was enabled. This is for simplicity of programming."""
|
entry was enabled. This is for simplicity of programming."""
|
||||||
|
|
||||||
self.css_filename = self.CSS[self.css_combo.get_active()]["filename"]
|
active = self.css_combo.get_active()
|
||||||
|
if active == -1: # legal for "no active item" (see 7585, 8189, 9461)
|
||||||
|
active = self.style_name
|
||||||
|
if self.css:
|
||||||
|
self.css_filename = self.css[active]["filename"]
|
||||||
self.options.handler.set_css_filename(self.css_filename)
|
self.options.handler.set_css_filename(self.css_filename)
|
||||||
|
|
||||||
def on_ok_clicked(self, obj):
|
def on_ok_clicked(self, obj):
|
||||||
@@ -271,11 +292,16 @@ class DocReportDialog(ReportDialog):
|
|||||||
self.parse_style_frame()
|
self.parse_style_frame()
|
||||||
self.parse_html_frame()
|
self.parse_html_frame()
|
||||||
|
|
||||||
self.options.handler.set_paper_metric(self.paper_frame.get_paper_metric())
|
self.options.handler.set_paper_metric(
|
||||||
self.options.handler.set_paper_name(self.paper_frame.get_paper_name())
|
self.paper_frame.get_paper_metric())
|
||||||
self.options.handler.set_orientation(self.paper_frame.get_orientation())
|
self.options.handler.set_paper_name(
|
||||||
self.options.handler.set_margins(self.paper_frame.get_paper_margins())
|
self.paper_frame.get_paper_name())
|
||||||
self.options.handler.set_custom_paper_size(self.paper_frame.get_custom_paper_size())
|
self.options.handler.set_orientation(
|
||||||
|
self.paper_frame.get_orientation())
|
||||||
|
self.options.handler.set_margins(
|
||||||
|
self.paper_frame.get_paper_margins())
|
||||||
|
self.options.handler.set_custom_paper_size(
|
||||||
|
self.paper_frame.get_custom_paper_size())
|
||||||
|
|
||||||
self.parse_user_options()
|
self.parse_user_options()
|
||||||
|
|
||||||
|
@@ -23,14 +23,14 @@
|
|||||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
#
|
#
|
||||||
|
|
||||||
|
""" a ReportDialog customized for Graphviz-based reports """
|
||||||
|
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
# python modules
|
# python modules
|
||||||
#
|
#
|
||||||
#------------------------------------------------------------------------
|
#------------------------------------------------------------------------
|
||||||
import os
|
import os
|
||||||
from gramps.gen.const import GRAMPS_LOCALE as glocale
|
|
||||||
_ = glocale.translation.gettext
|
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@@ -45,6 +45,8 @@ from gi.repository import GObject
|
|||||||
# Gramps modules
|
# Gramps modules
|
||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
|
from gramps.gen.const import GRAMPS_LOCALE as glocale
|
||||||
|
_ = glocale.translation.gettext
|
||||||
from gramps.gen.config import config
|
from gramps.gen.config import config
|
||||||
from gramps.gen.plug.report import CATEGORY_GRAPHVIZ
|
from gramps.gen.plug.report import CATEGORY_GRAPHVIZ
|
||||||
from ._reportdialog import ReportDialog
|
from ._reportdialog import ReportDialog
|
||||||
@@ -59,11 +61,12 @@ from gramps.gen.plug.menu import Menu
|
|||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
class GraphvizFormatComboBox(Gtk.ComboBox):
|
class GraphvizFormatComboBox(Gtk.ComboBox):
|
||||||
"""
|
"""
|
||||||
Format combo box class for Graphviz report.
|
Combo box class for Graphviz report format choices.
|
||||||
"""
|
"""
|
||||||
def set(self, active=None):
|
def set(self, active=None):
|
||||||
self.store = Gtk.ListStore(GObject.TYPE_STRING)
|
""" initialize the Graphviz choices """
|
||||||
self.set_model(self.store)
|
store = Gtk.ListStore(GObject.TYPE_STRING)
|
||||||
|
self.set_model(store)
|
||||||
cell = Gtk.CellRendererText()
|
cell = Gtk.CellRendererText()
|
||||||
self.pack_start(cell, True)
|
self.pack_start(cell, True)
|
||||||
self.add_attribute(cell, 'text', 0)
|
self.add_attribute(cell, 'text', 0)
|
||||||
@@ -72,34 +75,26 @@ class GraphvizFormatComboBox(Gtk.ComboBox):
|
|||||||
active_index = 0
|
active_index = 0
|
||||||
for item in graphdoc.FORMATS:
|
for item in graphdoc.FORMATS:
|
||||||
name = item["descr"]
|
name = item["descr"]
|
||||||
self.store.append(row=[name])
|
store.append(row=[name])
|
||||||
if item['type'] == active:
|
if item['type'] == active:
|
||||||
active_index = index
|
active_index = index
|
||||||
index += 1
|
index += 1
|
||||||
self.set_active(active_index)
|
self.set_active(active_index)
|
||||||
|
|
||||||
def get_label(self):
|
def get_label(self):
|
||||||
|
""" get the format description """
|
||||||
return graphdoc.FORMATS[self.get_active()]["descr"]
|
return graphdoc.FORMATS[self.get_active()]["descr"]
|
||||||
|
|
||||||
def get_reference(self):
|
def get_reference(self):
|
||||||
|
""" get the format class """
|
||||||
return graphdoc.FORMATS[self.get_active()]["class"]
|
return graphdoc.FORMATS[self.get_active()]["class"]
|
||||||
|
|
||||||
def get_paper(self):
|
|
||||||
return 1
|
|
||||||
|
|
||||||
def get_styles(self):
|
|
||||||
return 0
|
|
||||||
|
|
||||||
def get_ext(self):
|
def get_ext(self):
|
||||||
|
""" get the format extension """
|
||||||
return '.%s' % graphdoc.FORMATS[self.get_active()]['ext']
|
return '.%s' % graphdoc.FORMATS[self.get_active()]['ext']
|
||||||
|
|
||||||
def get_oformat_str(self): # the report's output-format type
|
|
||||||
return graphdoc.FORMATS[self.get_active()]["type"]
|
|
||||||
|
|
||||||
def is_file_output(self):
|
|
||||||
return True
|
|
||||||
|
|
||||||
def get_clname(self):
|
def get_clname(self):
|
||||||
|
""" get the report's output format type"""
|
||||||
return graphdoc.FORMATS[self.get_active()]["type"]
|
return graphdoc.FORMATS[self.get_active()]["type"]
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
@@ -108,10 +103,11 @@ class GraphvizFormatComboBox(Gtk.ComboBox):
|
|||||||
#
|
#
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
class GraphvizReportDialog(ReportDialog):
|
class GraphvizReportDialog(ReportDialog):
|
||||||
"""A class of ReportDialog customized for graphviz based reports."""
|
"""A class of ReportDialog customized for Graphviz-based reports."""
|
||||||
|
|
||||||
def __init__(self, dbstate, uistate, opt, name, translated_name):
|
def __init__(self, dbstate, uistate, opt, name, translated_name):
|
||||||
"""Initialize a dialog to request that the user select options
|
"""Initialize a dialog to request that the user select options
|
||||||
for a graphviz report. See the ReportDialog class for
|
for a Graphviz report. See the ReportDialog class for
|
||||||
more information."""
|
more information."""
|
||||||
self.category = CATEGORY_GRAPHVIZ
|
self.category = CATEGORY_GRAPHVIZ
|
||||||
self.__gvoptions = graphdoc.GVOptions()
|
self.__gvoptions = graphdoc.GVOptions()
|
||||||
@@ -119,11 +115,15 @@ class GraphvizReportDialog(ReportDialog):
|
|||||||
ReportDialog.__init__(self, dbstate, uistate, opt,
|
ReportDialog.__init__(self, dbstate, uistate, opt,
|
||||||
name, translated_name)
|
name, translated_name)
|
||||||
|
|
||||||
|
self.doc = None # keep pylint happy
|
||||||
|
self.format = None
|
||||||
|
self.paper_label = None
|
||||||
|
|
||||||
def init_options(self, option_class):
|
def init_options(self, option_class):
|
||||||
try:
|
try:
|
||||||
if issubclass(option_class, object): # Old-style class
|
if issubclass(option_class, object): # Old-style class
|
||||||
self.options = option_class(self.raw_name,
|
self.options = option_class(self.raw_name,
|
||||||
self.dbstate.get_database())
|
self.dbstate.get_database())
|
||||||
except TypeError:
|
except TypeError:
|
||||||
self.options = option_class
|
self.options = option_class
|
||||||
|
|
||||||
@@ -147,7 +147,7 @@ class GraphvizReportDialog(ReportDialog):
|
|||||||
self.format_menu = GraphvizFormatComboBox()
|
self.format_menu = GraphvizFormatComboBox()
|
||||||
self.format_menu.set(self.options.handler.get_format_name())
|
self.format_menu.set(self.options.handler.get_format_name())
|
||||||
self.format_menu.connect('changed', self.doc_type_changed)
|
self.format_menu.connect('changed', self.doc_type_changed)
|
||||||
label = Gtk.Label(label="%s:" % _("Output Format"))
|
label = Gtk.Label(label=_("%s:") % _("Output Format"))
|
||||||
label.set_halign(Gtk.Align.START)
|
label.set_halign(Gtk.Align.START)
|
||||||
self.grid.attach(label, 1, self.row, 1, 1)
|
self.grid.attach(label, 1, self.row, 1, 1)
|
||||||
self.format_menu.set_hexpand(True)
|
self.format_menu.set_hexpand(True)
|
||||||
@@ -181,12 +181,11 @@ class GraphvizReportDialog(ReportDialog):
|
|||||||
self.paper_label.set_use_markup(True)
|
self.paper_label.set_use_markup(True)
|
||||||
handler = self.options.handler
|
handler = self.options.handler
|
||||||
self.paper_frame = PaperFrame(
|
self.paper_frame = PaperFrame(
|
||||||
handler.get_paper_metric(),
|
handler.get_paper_metric(),
|
||||||
handler.get_paper_name(),
|
handler.get_paper_name(),
|
||||||
handler.get_orientation(),
|
handler.get_orientation(),
|
||||||
handler.get_margins(),
|
handler.get_margins(),
|
||||||
handler.get_custom_paper_size(),
|
handler.get_custom_paper_size())
|
||||||
)
|
|
||||||
self.notebook.insert_page(self.paper_frame, self.paper_label, 0)
|
self.notebook.insert_page(self.paper_frame, self.paper_label, 0)
|
||||||
self.paper_frame.show_all()
|
self.paper_frame.show_all()
|
||||||
|
|
||||||
@@ -213,7 +212,7 @@ class GraphvizReportDialog(ReportDialog):
|
|||||||
fname = spath
|
fname = spath
|
||||||
self.target_fileentry.set_filename(fname)
|
self.target_fileentry.set_filename(fname)
|
||||||
|
|
||||||
output_format_str = obj.get_oformat_str()
|
output_format_str = obj.get_clname()
|
||||||
if output_format_str in ['gvpdf', 'gspdf', 'ps']:
|
if output_format_str in ['gvpdf', 'gspdf', 'ps']:
|
||||||
# Always use 72 DPI for PostScript and PDF files.
|
# Always use 72 DPI for PostScript and PDF files.
|
||||||
self.__gvoptions.dpi.set_value(72)
|
self.__gvoptions.dpi.set_value(72)
|
||||||
@@ -254,12 +253,15 @@ class GraphvizReportDialog(ReportDialog):
|
|||||||
self.parse_user_options()
|
self.parse_user_options()
|
||||||
|
|
||||||
self.options.handler.set_paper_metric(
|
self.options.handler.set_paper_metric(
|
||||||
self.paper_frame.get_paper_metric())
|
self.paper_frame.get_paper_metric())
|
||||||
self.options.handler.set_paper_name(self.paper_frame.get_paper_name())
|
self.options.handler.set_paper_name(
|
||||||
self.options.handler.set_orientation(self.paper_frame.get_orientation())
|
self.paper_frame.get_paper_name())
|
||||||
self.options.handler.set_margins(self.paper_frame.get_paper_margins())
|
self.options.handler.set_orientation(
|
||||||
|
self.paper_frame.get_orientation())
|
||||||
|
self.options.handler.set_margins(
|
||||||
|
self.paper_frame.get_paper_margins())
|
||||||
self.options.handler.set_custom_paper_size(
|
self.options.handler.set_custom_paper_size(
|
||||||
self.paper_frame.get_custom_paper_size())
|
self.paper_frame.get_custom_paper_size())
|
||||||
|
|
||||||
# Create the output document.
|
# Create the output document.
|
||||||
self.make_document()
|
self.make_document()
|
||||||
|
Reference in New Issue
Block a user