File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import os
2+ import json
3+ from src .managers .devicemanager import DeviceManager
4+ from src .error .logger import Logger
5+
6+ def dump_json (dm , dir , logger ):
7+ data = None
8+
9+ if not isinstance (dm , DeviceManager ):
10+ raise TypeError ("Parameter 'dm' is not of type 'DeviceManager'!" )
11+
12+ if not os .path .isdir (dir ):
13+ raise ValueError ("Parameter 'dir' is not a valid directory!" )
14+
15+ if not isinstance (logger , Logger ):
16+ raise TypeError ("Parameter 'logger' is not of type 'Logger'!" )
17+
18+ try :
19+ with open (os .path .join (dir , "info_dump.json" ), "w" ) as _json :
20+ _json .write (json .dumps (
21+ dm .info , indent = 4 , sort_keys = False ))
22+ _json .close ()
23+ logger .info (
24+ f'Successfully dumped "info_dump.json" into "{ dir } "' , __file__
25+ )
26+
27+ data = f'Successfully dumped "info_dump.json" into "{ dir } "\n '
28+ except Exception as e :
29+ logger .error (
30+ f"Failed to dump to JSON!\n \t ^^^^^^^^^{ str (e )} " , __file__ )
31+
32+ return data
Original file line number Diff line number Diff line change 1+ import os
2+ import plistlib
3+ from src .managers .devicemanager import DeviceManager
4+ from src .error .logger import Logger
5+
6+ def dump_plist (dm , dir , logger ):
7+ data = None
8+
9+ if not isinstance (dm , DeviceManager ):
10+ raise TypeError ("Parameter 'dm' is not of type 'DeviceManager'!" )
11+
12+ if not os .path .isdir (dir ):
13+ raise ValueError ("Parameter 'dir' is not a valid directory!" )
14+
15+ if not isinstance (logger , Logger ):
16+ raise TypeError ("Parameter 'logger' is not of type 'Logger'!" )
17+
18+ try :
19+ with open (os .path .join (dir , "info_dump.plist" ), "wb" ) as plist :
20+ plistlib .dump (dm .info , plist , sort_keys = False )
21+ plist .close ()
22+ logger .info (
23+ f'Successfully dumped info "info_dump.plist" into "{ dir } "' , __file__
24+ )
25+
26+ data = f'Successfully dumped info "info_dump.plist" into "{ dir } "\n '
27+ except Exception as e :
28+ logger .error (
29+ f"Failed to dump to Plist!\n \t ^^^^^^^^^{ str (e )} " , __file__
30+ )
31+
32+ return data
Original file line number Diff line number Diff line change 1+ import os
2+ from src .managers .tree import tree
3+ from src .managers .devicemanager import DeviceManager
4+ from src .error .logger import Logger
5+
6+ def dump_txt (dm , dir , logger ):
7+ data = None
8+
9+ if not isinstance (dm , DeviceManager ):
10+ raise TypeError ("Parameter 'dm' is not of type 'DeviceManager'!" )
11+
12+ if not os .path .isdir (dir ):
13+ raise ValueError ("Parameter 'dir' is not a valid directory!" )
14+
15+ if not isinstance (logger , Logger ):
16+ raise TypeError ("Parameter 'logger' is not of type 'Logger'!" )
17+
18+ try :
19+ with open (
20+ os .path .join (dir , "info_dump.txt" ), "w" , encoding = "utf-8"
21+ ) as file :
22+ for key in dm .info :
23+ file .write (tree (key , dm .info [key ], color = False ))
24+ file .write ("\n " )
25+
26+ file .close ()
27+ logger .info (
28+ f'Successfully dumped "info_dump.txt" into "{ dir } "' , __file__
29+ )
30+
31+ data = f'Successfully dumped "info_dump.txt" into "{ dir } "\n '
32+ except Exception as e :
33+ logger .error (
34+ f"Failed to dump to TXT!\n \t ^^^^^^^^^{ str (e )} " , __file__ )
35+
36+ return data
Original file line number Diff line number Diff line change 1+ import os
2+ import dicttoxml
3+ import logging
4+ from src .managers .devicemanager import DeviceManager
5+ from src .error .logger import Logger
6+
7+ def dump_xml (dm , dir , logger ):
8+ data = None
9+
10+ if not isinstance (dm , DeviceManager ):
11+ raise TypeError ("Parameter 'dm' is not of type 'DeviceManager'!" )
12+
13+ if not os .path .isdir (dir ):
14+ raise ValueError ("Parameter 'dir' is not a valid directory!" )
15+
16+ if not isinstance (logger , Logger ):
17+ raise TypeError ("Parameter 'logger' is not of type 'Logger'!" )
18+
19+ try :
20+ with open (os .path .join (dir , "info_dump.xml" ), "wb" ) as xml :
21+ # Disables debug prints from `dicttoxml`
22+ dicttoxml .LOG .setLevel (logging .ERROR )
23+ xml .write (dicttoxml .dicttoxml (dm .info , root = True ))
24+ xml .close ()
25+ logger .info (
26+ f'Successfully dumped "info_dump.xml" into "{ dir } "' , __file__
27+ )
28+
29+ data = f'Successfully dumped "info_dump.xml" into "{ dir } "\n '
30+ except Exception as e :
31+ logger .error (
32+ f"Failed to dump to XML!\n \t ^^^^^^^^^{ str (e )} " , __file__ )
33+
34+ return data
You can’t perform that action at this time.
0 commit comments