From 604601fc567f34ec53184322f060dbb01dac8eb2 Mon Sep 17 00:00:00 2001 From: Holger Frey Date: Fri, 29 Jul 2016 16:48:34 +0200 Subject: [PATCH] first working version of the standalone app \o/ --- README.md | 1 + array2xls/__init__.py | 5 +- array2xls/gui.py | 6 +-- array2xls/inout.py | 1 - gift.ico | Bin 0 -> 17547 bytes hook-openpyxl.py | 3 ++ pyins.bat | 13 +++++ run_array2xls.py | 3 ++ setup.py | 111 ++++++++++++++++++++++++++++++++++++++++++ 9 files changed, 138 insertions(+), 5 deletions(-) create mode 100644 README.md create mode 100644 gift.ico create mode 100644 hook-openpyxl.py create mode 100644 pyins.bat create mode 100644 run_array2xls.py create mode 100644 setup.py diff --git a/README.md b/README.md new file mode 100644 index 0000000..2fa0c0b --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +Array Data to Excel Files \ No newline at end of file diff --git a/array2xls/__init__.py b/array2xls/__init__.py index 06e1d21..b706da4 100644 --- a/array2xls/__init__.py +++ b/array2xls/__init__.py @@ -1,6 +1,9 @@ import tkinter as tk +import pandas # just for pyinstaller -import gui +from . import gui + +__version__ = '0.0.1' def run(): root = tk.Tk() diff --git a/array2xls/gui.py b/array2xls/gui.py index 9efb7be..a7fe257 100644 --- a/array2xls/gui.py +++ b/array2xls/gui.py @@ -4,8 +4,8 @@ import tkinter.ttk as ttk from tkinter import filedialog import pandas -import validators -import inout +from . import validators +from . import inout APP_STATE_1 = 'no valid files selected' APP_STATE_2 = 'no valid fields selected' @@ -58,7 +58,7 @@ class FieldPanel(tk.Frame): self.is_single = tk.BooleanVar() self.is_single.set(True) self.rbtn_single = tk.Radiobutton( - self, text='single excel files', variable=self.is_single, value=True, command=self.disable_listbox) + self, text='seperate excel files', variable=self.is_single, value=True, command=self.disable_listbox) self.rbtn_combine = tk.Radiobutton( self, text='one combined excel file', variable=self.is_single, value=False, command=self.enable_listbox) self.rbtn_single.pack(anchor=tk.W) diff --git a/array2xls/inout.py b/array2xls/inout.py index 1e914ea..796725e 100644 --- a/array2xls/inout.py +++ b/array2xls/inout.py @@ -2,7 +2,6 @@ import os import re import pandas -import validators RE_NATURAL_SORT = re.compile('([0-9]+)') diff --git a/gift.ico b/gift.ico new file mode 100644 index 0000000000000000000000000000000000000000..7d35369629dabbb2917bddcc71781a2fd5b43173 GIT binary patch literal 17547 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 R)B