diff --git a/devutils/makesdist b/devutils/makesdist index e77257ea..8b0a2179 100755 --- a/devutils/makesdist +++ b/devutils/makesdist @@ -11,10 +11,11 @@ import subprocess import sys import tarfile +from setup import FALLBACK_VERSION, versiondata + BASEDIR = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) sys.path.insert(0, BASEDIR) -from setup import FALLBACK_VERSION, versiondata timestamp = versiondata.getint("DEFAULT", "timestamp") diff --git a/src/diffpy/pdfgui/gui/bondangledialog.py b/src/diffpy/pdfgui/gui/bondangledialog.py index c7b05aeb..750b192e 100644 --- a/src/diffpy/pdfgui/gui/bondangledialog.py +++ b/src/diffpy/pdfgui/gui/bondangledialog.py @@ -138,8 +138,8 @@ def onSpin(self, event): loop = True while loop: loop = False - for l in letters: - if newval == getattr(self, l): + for letter in letters: + if newval == getattr(self, letter): loop = True if increasing: newval += 1 diff --git a/src/diffpy/pdfgui/gui/bondlengthdialog.py b/src/diffpy/pdfgui/gui/bondlengthdialog.py index e23ec5c5..7624009a 100644 --- a/src/diffpy/pdfgui/gui/bondlengthdialog.py +++ b/src/diffpy/pdfgui/gui/bondlengthdialog.py @@ -219,8 +219,8 @@ def onSpin(self, event): # wxGlade: BondLengthDialog. loop = True while loop: loop = False - for l in letters: - if newval == getattr(self, l): + for letter in letters: + if newval == getattr(self, letter): loop = True if increasing: newval += 1 diff --git a/src/diffpy/pdfgui/gui/phaseconfigurepanel.py b/src/diffpy/pdfgui/gui/phaseconfigurepanel.py index 48bdaadd..3bf08d72 100644 --- a/src/diffpy/pdfgui/gui/phaseconfigurepanel.py +++ b/src/diffpy/pdfgui/gui/phaseconfigurepanel.py @@ -319,7 +319,7 @@ def restrictConstrainedParameters(self): """Set 'read-only' boxes that correspond to constrained parameters.""" self.setToolTips(tooltips.phasepanel) - txtbg = self.textCtrlA.DefaultStyle.BackgroundColour + self.textCtrlA.DefaultStyle.BackgroundColour # First the TextCtrls for key, var in self.lConstraintsMap.items(): @@ -393,7 +393,7 @@ def applyTextCtrlChange(self, id, value): return value - except: + except ValueError: return None def applyCellChange(self, i, j, value): diff --git a/src/diffpy/pdfgui/gui/phaseconstraintspanel.py b/src/diffpy/pdfgui/gui/phaseconstraintspanel.py index 352e92ea..33232329 100644 --- a/src/diffpy/pdfgui/gui/phaseconstraintspanel.py +++ b/src/diffpy/pdfgui/gui/phaseconstraintspanel.py @@ -314,7 +314,7 @@ def refresh(self): self.refreshTextCtrls() - ### update the grid ### + # update the grid ### natoms = len(self.structure) nrows = self.gridAtoms.GetNumberRows() self.gridAtoms.BeginBatch() @@ -339,7 +339,7 @@ def refresh(self): if not m: continue barevar = m.group(1) - if not barevar in bareAtomVarColumn: + if barevar not in bareAtomVarColumn: continue column = bareAtomVarColumn[barevar] row = int(m.group(2)) - 1 @@ -348,7 +348,7 @@ def refresh(self): raise ControlValueError(emsg) self.gridAtoms.SetCellValue(row, column, con.formula) barevar = re.sub(r"\(\d+\)$", "", var) - if not barevar in bareAtomVarColumn: + if barevar not in bareAtomVarColumn: continue self.gridAtoms.AutosizeLabels() @@ -554,12 +554,12 @@ def onKey(self, event): self.mainFrame.needsSave() # Can't get these to work. Maybe later. - ## Copy - Ctrl+C / Ctrl+Insert + # Copy - Ctrl+C / Ctrl+Insert # if event.ControlDown() and (key == 67 or key == wx.WXK_INSERT): # if phasepanelutils.canCopySelectedCells(self): # phasepanelutils.copySelectedCells(self) - ## Paste - Ctrl+V / Shift+Insert + # Paste - Ctrl+V / Shift+Insert # if (event.ControlDown() and key == 86) or\ # (event.ShiftDown() and key == wx.WXK_INSERT): # if phasepanelutils.canPasteIntoCells(self): diff --git a/src/diffpy/pdfgui/gui/rseriespanel.py b/src/diffpy/pdfgui/gui/rseriespanel.py index c1afe397..40c75969 100644 --- a/src/diffpy/pdfgui/gui/rseriespanel.py +++ b/src/diffpy/pdfgui/gui/rseriespanel.py @@ -32,7 +32,10 @@ def __init__(self, *args, **kwds): self.instructionsLabel = wx.StaticText( self, wx.ID_ANY, - "Select a fit from the tree on the left and set the first value, last value, \nand the step size of the maximum and/or minimum of the fit range\nbelow. If you have not set up a fit to be the template for the series, hit\ncancel and rerun this macro once a fit has been created.", + "Select a fit from the tree on the left and set the first value, last value, " + + "\nand the step size of the maximum and/or minimum of the fit range\nbelow. " + + "If you have not set up a fit to be the template for the series, hit\ncancel and " + + "rerun this macro once a fit has been created.", ) self.maxFirstLabel = wx.StaticText(self, wx.ID_ANY, "first") self.maxFirstTextCtrl = wx.TextCtrl(self, wx.ID_ANY, "") diff --git a/src/diffpy/pdfgui/gui/sgconstraindialog.py b/src/diffpy/pdfgui/gui/sgconstraindialog.py index 1d9bb606..b4f2c0ae 100644 --- a/src/diffpy/pdfgui/gui/sgconstraindialog.py +++ b/src/diffpy/pdfgui/gui/sgconstraindialog.py @@ -204,7 +204,7 @@ def updateWidgets(self): raise ControlValueError(error) return - ### Events + # Events def onKillFocus(self, event): """Check value of widgets and update the dialog message.""" diff --git a/src/diffpy/pdfgui/gui/sgstructuredialog.py b/src/diffpy/pdfgui/gui/sgstructuredialog.py index f8a6336f..8686ccb6 100644 --- a/src/diffpy/pdfgui/gui/sgstructuredialog.py +++ b/src/diffpy/pdfgui/gui/sgstructuredialog.py @@ -195,7 +195,7 @@ def updateWidgets(self): raise ControlValueError(error) return - ### Events + # Events def onKillFocus(self, event): """Check value of widgets and update the dialog message.""" self.updateWidgets() diff --git a/src/diffpy/pdfgui/gui/temperatureseriespanel.py b/src/diffpy/pdfgui/gui/temperatureseriespanel.py index d1cc6ae1..03cf0449 100644 --- a/src/diffpy/pdfgui/gui/temperatureseriespanel.py +++ b/src/diffpy/pdfgui/gui/temperatureseriespanel.py @@ -18,7 +18,6 @@ import os.path import re -import sys import wx @@ -29,6 +28,10 @@ from diffpy.pdfgui.utils import numericStringSort +def temperature_sortkey(tf): + return float(tf[0]) + + class TemperatureSeriesPanel(wx.Panel, PDFPanel): def __init__(self, *args, **kwds): PDFPanel.__init__(self) @@ -41,7 +44,9 @@ def __init__(self, *args, **kwds): self.instructionsLabel = wx.StaticText( self, wx.ID_ANY, - "Select a fit from the tree on the left then add datasets and assign\ntemperatues below. If you have not set up a fit to be the template\nfor the series, hit cancel and rerun this macro once a fit has been\ncreated.", + "Select a fit from the tree on the left then add datasets and assign\ntemperatues below. " + + "If you have not set up a fit to be the template\nfor the series, hit cancel and rerun this " + + "macro once a fit has been\ncreated.", ) self.instructionsLabel.SetFont( wx.Font( @@ -201,7 +206,14 @@ def onAdd(self, event): # wxGlade: TemperatureSeriesPanel. if not dir: dir = self.mainFrame.workpath - matchstring = "PDF data files (*.gr)|*.gr|PDF fit files (*.fgr)|*.fgr|PDF fit files (*.fit)|*.fit|PDF calculation files (*.cgr)|*.cgr|PDF calculation files (*.calc)|*.calc|All Files|*" + matchstring = ( + "PDF data files (*.gr)|*.gr|" + "PDF fit files (*.fgr)|*.fgr|" + "PDF fit files (*.fit)|*.fit|" + "PDF calculation files (*.cgr)|*.cgr|" + "PDF calculation files (*.calc)|*.calc|" + "All Files|*" + ) d = wx.FileDialog( None, "Choose files", @@ -288,18 +300,26 @@ def onDelete(self, event): # wxGlade: TemperatureSeriesPanel. self.fillList() return + def create_filename_order(self): + filenames = [f for t, f in self.datasets] + numericStringSort(filenames) + self.filename_order = dict(zip(filenames, range(len(filenames)))) + return + + def filename_sortkey(self, tf): + return self.filename_order[tf[1]] + def onColClick(self, event): # wxGlade: TemperatureSeriesPanel. """Sort by temperature.""" column = event.GetColumn() # sort by temperature if column == 0: - sortkey = lambda tf: float(tf[0]) + sortkey = temperature_sortkey() # sort by filename with numerical comparison of digits elif column == 1: - filenames = [f for t, f in self.datasets] - numericStringSort(filenames) - order = dict(zip(filenames, range(len(filenames)))) - sortkey = lambda tf: order[tf[1]] + self.create_filename_order() + sortkey = self.filename_sortkey() + # ignore unhandled columns else: return @@ -308,7 +328,7 @@ def onColClick(self, event): # wxGlade: TemperatureSeriesPanel. self.fillList() return - ## Utility functions + # Utility functions def fillList(self): """Fill the list with the datasets.""" self.listCtrlFiles.DeleteAllItems() @@ -325,7 +345,7 @@ def fillList(self): self.listCtrlFiles.SetItem(index, 1, shortname) return - ## Needed by mainframe + # Needed by mainframe def treeSelectionUpdate(self, node): """Set the current fit when the tree selection changes.""" nodetype = self.treeCtrlMain.GetNodeType(node) @@ -334,7 +354,7 @@ def treeSelectionUpdate(self, node): self.refresh() return - ## Required by PDFPanel + # Required by PDFPanel def refresh(self): """Block out OK button if there is no fit.