Skip to content

Commit 3a491a5

Browse files
committed
fix pyinstaller use zip
1 parent c6cf0b6 commit 3a491a5

File tree

7 files changed

+51
-13
lines changed

7 files changed

+51
-13
lines changed

.github/workflows/release.yml

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,28 @@ jobs:
1313
include:
1414
- os: ubuntu-latest
1515
BUILD_CMD: pyinstaller collectmeterdigits.spec
16-
OUT_FILE_NAME: collectmeterdigits
17-
ASSET_MIME: application/octet-stream
16+
POST_BUILD_CMD: >
17+
cd dist/ &&
18+
ls -Rls &&
19+
zip -r9 collectmeterdigits-linux.zip collectmeterdigits
20+
OUT_FILE_NAME: collectmeterdigits-linux.zip
21+
ASSET_MIME: application/zip
1822
- os: macos-latest
1923
BUILD_CMD: pyinstaller collectmeterdigits.spec
2024
POST_BUILD_CMD: >
2125
cd dist/ &&
2226
ls -Rls &&
23-
zip -r9 collectmeterdigits collectmeterdigits
24-
OUT_FILE_NAME: collectmeterdigits.zip
27+
zip -r9 collectmeterdigits-macos.zip collectmeterdigits
28+
OUT_FILE_NAME: collectmeterdigits-macos.zip
2529
ASSET_MIME: application/zip
2630
- os: windows-latest
2731
BUILD_CMD: pyinstaller collectmeterdigits.spec
28-
OUT_FILE_NAME: collectmeterdigits.exe
29-
ASSET_MIME: application/vnd.microsoft.portable-executable
32+
POST_BUILD_CMD: >
33+
cd dist/ &&
34+
ls -Rls &&
35+
zip -r9 collectmeterdigits-windows.zip collectmeterdigits
36+
OUT_FILE_NAME: collectmeterdigits-windows.zip
37+
ASSET_MIME: application/zip
3038
steps:
3139
- uses: actions/checkout@v3
3240
- name: Setup Python

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ data/
77
.DS_Store
88
build/
99
__pychache__/
10-
.idea
10+
.idea
11+
dist/

collectmeterdigits.spec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ block_cipher = None
55

66

77
a = Analysis(
8-
['collectmeterdigits/__main__.py'],
9-
pathex=[],
8+
['collectmeterdigits/__main__.py','collectmeterdigits/glob.py','collectmeterdigits/hash_manual.py','collectmeterdigits/labeling.py','collectmeterdigits/predict.py', ],
9+
pathex=['collectmeterdigits/'],
1010
binaries=[],
1111
datas=[('collectmeterdigits/models/*.tflite', 'collectmeterdigits/models')],
1212
hiddenimports=['requests'],

collectmeterdigits/collect.py

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,33 @@ def readimages(servername, output_dir, daysback=15):
6868
while countrepeat > 0:
6969
if (not os.path.exists(path + "/" + prefix + filename)):
7070
try:
71-
img = Image.open(requests.get(serverurl+url, stream=True).raw)
72-
img.save(path + "/" + prefix + filename)
71+
print(serverurl + url)
72+
image = requests.get(serverurl + url, stream=True)
7373
count = count + 1
7474
countrepeat = 0
7575
except ConnectionError as h:
76-
print( path + "/" + prefix + filename + " could not be loaded - Retry in 10 s ... " + str(countrepeat))
76+
print(
77+
path + "/" + prefix + filename + " could not be loaded - Retry in 10 s ... " + str(
78+
countrepeat))
79+
time.sleep(10)
80+
countrepeat = countrepeat - 1
81+
continue
82+
except TimeoutError as h:
83+
print(
84+
path + "/" + prefix + filename + " could not be loaded - Retry in 10 s ... " + str(
85+
countrepeat))
7786
time.sleep(10)
7887
countrepeat = countrepeat - 1
88+
continue
89+
90+
try:
91+
img = Image.open(image.raw)
92+
img.save(path + "/" + prefix + filename)
93+
except Exception as e:
94+
print(path + "/" + prefix + filename + " could not be opened as an image: %r!" % e)
95+
96+
count = count + 1
97+
countrepeat = 0
7998
print(f"{count} images are loaded from meter: {servername}")
8099

81100
def save_hash_file(images, hashfilename):

collectmeterdigits/labeling.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,12 @@ def label(path, startlabel=0, imageurlsfile=None):
3636

3737
if (imageurlsfile!=None):
3838
files = pd.read_csv(imageurlsfile, index_col=0).to_numpy().reshape(-1)
39-
else:
39+
40+
# remove files not exists
41+
for file in files:
42+
if (not os.path.exists(file)):
43+
files = files[~np.isin(files, file)]
44+
else:
4045
files = ziffer_data_files(path)
4146

4247
if (len(files)==0):
Binary file not shown.

run.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from collectmeterdigits.__main__ import main
2+
3+
4+
main()
5+

0 commit comments

Comments
 (0)