Skip to content

Commit 79fbc96

Browse files
author
piotrj
committed
dialogs improvements, RC
1 parent aee0445 commit 79fbc96

File tree

3 files changed

+104
-71
lines changed

3 files changed

+104
-71
lines changed

.github/workflows/run.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ jobs:
259259
with:
260260
tag_name: ${{ steps.version.outputs.version }}
261261
name: librer Release ${{ steps.version.outputs.version }}
262-
draft: true
262+
draft: false
263263
prerelease: true
264264
files: |
265265
librer.${{ steps.version.outputs.version }}.portable.linux.zip

src/core.py

+50-24
Original file line numberDiff line numberDiff line change
@@ -358,10 +358,10 @@ def load(self,file_path):
358358
label_of_datalabel = {'filestructure':'Filestructure','filenames':'Filenames','customdata':'Custom Data','header':'Header'}
359359
def save(self,print_func,file_path=None,compression_level=9):
360360
if file_path:
361-
filename = basename(normpath(file_path))
361+
self.file_name = basename(normpath(file_path))
362362
else:
363-
filename = self.file_name = self.new_file_name()
364-
file_path = sep.join([self.db_dir,filename])
363+
self.file_name = self.file_name = self.new_file_name()
364+
file_path = sep.join([self.db_dir,self.file_name])
365365

366366
self.file_path = file_path
367367

@@ -1276,18 +1276,19 @@ def prepare_info(self):
12761276
info_list.append(f'rule nr {str(nr).rjust(2)} | {bytes_to_str(self_header.cde_stats_size[nr]).rjust(12)}{fnumber(self_header.cde_stats_uniq[nr]).rjust(12)}{fnumber(self_header.cde_stats_refs[nr]).rjust(12)}{str(round(self_header.cde_stats_time[nr],2)).rjust(11)}s{"".rjust(12)}{fnumber(self_header.files_cde_errors_quant[nr]).rjust(12)}')
12771277
info_list.append('----------------+------------------------------------------------------------------------------------------------')
12781278
except Exception as EE:
1279-
info_list.append(str(EE))
1280-
1281-
info_list.append('')
1279+
print(str(EE))
12821280

12831281
try:
12841282
if self_header.cde_list:
1283+
info_list.append('')
12851284
info_list.append('Custom Data Extractors and rules:')
12861285
for nr,(expressions,use_smin,smin_int,use_smax,smax_int,executable,parameters,shell,timeout,crc) in enumerate(self_header.cde_list):
12871286
info_list.append(f'\nrule nr : {nr}')
12881287

1289-
expressions_expanded = ','.join(list(expressions))
1290-
info_list.append(f'files : {expressions_expanded}')
1288+
if expressions:
1289+
expressions_expanded = ','.join(list(expressions))
1290+
info_list.append(f'files : {expressions_expanded}')
1291+
12911292
if use_smin:
12921293
info_list.append(f'min size : {bytes_to_str(smin_int)}')
12931294
if use_smax:
@@ -1297,13 +1298,13 @@ def prepare_info(self):
12971298
info_list.append(f'command : {executable} {parameters} {in_shell_string}')
12981299
if timeout:
12991300
info_list.append(f'timeout : {timeout}s')
1300-
13011301
except Exception as EE:
1302-
info_list.append(str(EE))
1303-
1302+
print(str(EE))
13041303

13051304
loaded_fs_info = 'filesystem - ' + ('loaded' if self.decompressed_filestructure else 'not loaded yet')
13061305
loaded_cd_info = 'custom data - ' + ('not present' if not bool(cd_data[0]) else 'loaded' if self.decompressed_customdata else 'not loaded yet')
1306+
1307+
info_list.append('')
13071308
info_list.append(loaded_fs_info)
13081309
info_list.append(loaded_cd_info)
13091310

@@ -1356,8 +1357,7 @@ def prepare_info(self):
13561357
info_list.append('========================================')
13571358
info_list.extend(sublist_size)
13581359
except Exception as se:
1359-
#print(se)
1360-
pass
1360+
print(str(se))
13611361

13621362
self.txtinfo = '\n'.join(info_list)
13631363

@@ -1438,6 +1438,10 @@ def __init__(self,db_dir,log):
14381438
self.groups=defaultdict(set)
14391439
self.aliases={}
14401440

1441+
self.wii_import_known_disk_names_len = 0
1442+
self.wii_import_files_counter = 0
1443+
self.wii_import_space = 0
1444+
14411445
def update_sorted(self):
14421446
self.records_sorted = sorted(self.records,key = lambda x : x.header.creation_time)
14431447

@@ -1626,6 +1630,8 @@ def get_wii_files_dict(self,import_filenames):
16261630

16271631
#######################################################################
16281632

1633+
aborted = False
1634+
self.abort_action = False
16291635
#l=0
16301636
in_report=False
16311637
in_item=False
@@ -1652,11 +1658,17 @@ def get_wii_files_dict(self,import_filenames):
16521658
known_disk_names=set()
16531659

16541660
self.wii_import_known_disk_names_len = 0
1661+
self.wii_import_files_counter = 0
1662+
self.wii_import_space = 0
16551663
try:
16561664
for import_filename in import_filenames:
16571665
with open(import_filename,"rt", encoding='utf-8', errors='ignore') as f:
16581666
self.wii_import_info_filename = import_filename
16591667
for line in f:
1668+
if self.abort_action:
1669+
aborted = True
1670+
break
1671+
16601672
try:
16611673
if in_report:
16621674
if in_item:
@@ -1683,6 +1695,7 @@ def get_wii_files_dict(self,import_filenames):
16831695
if not item['name']:
16841696
if match := re_obj_name_search(line):
16851697
item['name']=match.group(1)
1698+
self.wii_import_files_counter +=1
16861699
continue
16871700

16881701
if not item['ext']:
@@ -1693,7 +1706,10 @@ def get_wii_files_dict(self,import_filenames):
16931706
if not item['size']:
16941707
if match := re_obj_size_search(line):
16951708
try:
1696-
item['size']=int(match.group(1))
1709+
size = int(match.group(1))
1710+
1711+
item['size']=size
1712+
self.wii_import_space += size
16971713
except:
16981714
item['size']=0
16991715
continue
@@ -1871,9 +1887,12 @@ def get_wii_files_dict(self,import_filenames):
18711887
# <CRC>0</CRC>
18721888
#</ITEM>
18731889

1874-
return filenames_set,filenames_set_per_disk,wii_path_tuple_to_data,wii_path_tuple_to_data_per_disk,wii_paths_dict,wii_paths_dict_per_disk,cd_set,cd_set_per_disk
1890+
if aborted:
1891+
return [None,'Aborted.']
1892+
else:
1893+
return filenames_set,filenames_set_per_disk,wii_path_tuple_to_data,wii_path_tuple_to_data_per_disk,wii_paths_dict,wii_paths_dict_per_disk,cd_set,cd_set_per_disk
18751894
except Exception as ie:
1876-
return [None,str(ie)]
1895+
return [None,f'Error:{ie}']
18771896

18781897
def wii_data_to_scan_like_data(self,path_list,curr_dict_ref,scan_like_data,customdata_helper):
18791898
path_list_tuple = tuple(path_list)
@@ -1982,15 +2001,15 @@ def import_records_wii_do(self,compr,postfix,label,quant_files,quant_folders,fil
19822001
smin_int=0
19832002
use_smax=False
19842003
smax_int=0
1985-
executable=''
2004+
executable='Imported from "Where Is It?"'
19862005
parameters=''
19872006
shell=False
19882007
timeout=0
19892008
crc=False
19902009

19912010
new_record.header.cde_list = [ [expressions,use_smin,smin_int,use_smax,smax_int,executable,parameters,shell,timeout,crc] ]
19922011

1993-
new_record.header.scan_path = ' -- Imported from "Where Is It? -- '
2012+
new_record.header.scan_path = 'Imported from "Where Is It?'
19942013

19952014
new_record.customdata = [(0,0,cd_elem) for cd_elem in cd_set]
19962015

@@ -2039,10 +2058,20 @@ def import_records_wii_do(self,compr,postfix,label,quant_files,quant_folders,fil
20392058

20402059
new_record.save(print,file_path=new_file_path,compression_level=compr)
20412060

2042-
if group:
2043-
self.assign_new_group(new_record,group)
2061+
self.records.remove(new_record)
2062+
2063+
#############################################
2064+
new_record_really = self.create()
2065+
2066+
if res:=new_record_really.load(new_file_path) :
2067+
self.records.remove(new_record_really)
2068+
send2trash_delete(new_file_path)
2069+
import_res.append(str(res))
2070+
else:
2071+
if group:
2072+
self.assign_new_group(new_record_really,group)
20442073

2045-
update_callback(new_record)
2074+
update_callback(new_record_really)
20462075

20472076
if import_res:
20482077
return '\n'.join(import_res)
@@ -2084,13 +2113,10 @@ def import_records(self,import_filenames,update_callback,group):
20842113
new_record = self.create()
20852114

20862115
if res:=new_record.load(new_file_path) :
2087-
#self.log.warning('removing:%s',file_name)
20882116
self.records.remove(new_record)
2089-
#load_errors.append(res)
20902117
send2trash_delete(new_file_path)
20912118
import_res.append(str(res))
20922119
else:
2093-
#self.records_to_show.append( (new_record,info_curr_quant,info_curr_size) )
20942120
if group:
20952121
self.assign_new_group(new_record,group)
20962122

0 commit comments

Comments
 (0)