From 00987ac688a32016230f48cdf09ed210c4dae32e Mon Sep 17 00:00:00 2001 From: Ruben Nogueira <40404708+rubnogueira@users.noreply.github.com> Date: Sun, 24 May 2020 15:27:38 +0100 Subject: [PATCH] Progress tweaks --- modules/report/tiktok.py | 2 +- psy/extractor.py | 8 +++----- psy/ingest.py | 19 +++++++------------ psy/processor.py | 2 +- template/assets/js/report.js | 18 ++++-------------- 5 files changed, 16 insertions(+), 33 deletions(-) diff --git a/modules/report/tiktok.py b/modules/report/tiktok.py index 3f0cf24..e7a1738 100644 --- a/modules/report/tiktok.py +++ b/modules/report/tiktok.py @@ -264,7 +264,7 @@ def get_videos(self): video = {} video["key"] = os.path.basename(entry) - video["last_modified"] = "" + video["last_modified"] = 0 videos.append(video) logging.info("{} video(s) found".format(len(videos))) diff --git a/psy/extractor.py b/psy/extractor.py index d824234..e5ca815 100644 --- a/psy/extractor.py +++ b/psy/extractor.py @@ -20,8 +20,8 @@ def dump_apps(self): if self.dsprocessor: self.progress.setProgressText(' Extracting application data ({}).\n Please wait.'.format(app_id)) else: - self.progress.progress('Extracting application data ({})'.format(app_id)) - + self.progress.next_job('Extracting application data ({})'.format(app_id)) + for serial, folder in self.extract.dump_from_adb(app_id, devices = self.devices).items(): # If the device not in the list if not folders.get(serial): @@ -31,8 +31,6 @@ def dump_apps(self): if not folder in folders[serial]: folders[serial].append(folder) - #self.progressJob.next_job("Extracting {}".format(app_id)) - for serial, folderslist in folders.items(): extracted_list = [] @@ -56,7 +54,7 @@ def extract_dumps(self, serial, folder): if self.dsprocessor: self.progress.setProgressText(' Handling extracted data from {}.\n Please wait.'.format(serial)) else: - self.progress.progress('Handling extracted data from {}'.format(serial)) + self.progress.change_text('Handling extracted data from {}'.format(serial)) for filename in files: if '_internal.tar.gz' in filename: diff --git a/psy/ingest.py b/psy/ingest.py index 46bffe3..10afc0b 100644 --- a/psy/ingest.py +++ b/psy/ingest.py @@ -53,19 +53,21 @@ def process(self, dataSource, progressBar): #Initialize list of possible data sources data_sources = [] + max_apps = len(Utils.get_all_packages().values()) + #Extract method for adb selected #THIS IS ONLY USED IN <= AUTOPSY 4.15 if self.method == "method_adb": #Get list of selected apps to extract self.apps = json.loads(self.settings.getSetting('apps')) - jobs = len(self.apps)*3 #extract, analyser, index + jobs = max_apps * 3 #extract, analyser, index self.progressJob = ProgressJob(progressBar, jobs) self.progressJob.next_job("Extracting from ADB") logging.info("Starting ADB") #Variable used to store all folders for each device - folders = Extractor(self.apps, DeviceCommunication.list_devices(), progressBar, dsprocessor = False).dump_apps() + folders = Extractor(self.apps, DeviceCommunication.list_devices(), self.progressJob, dsprocessor = False).dump_apps() # Add one datasource for each device, with the list of the possible folders for serial, folders_list in folders.items(): @@ -85,14 +87,7 @@ def process(self, dataSource, progressBar): logging.info("Using Selected Datasource") data_sources.append(dataSource) - # if self.method == "method_importfile": - # self.progressJob = ProgressJob(progressBar, len(data_sources)) #indexing ( x1) - # else: - jobs = 0 - for source in data_sources: - jobs = jobs + len(self.fileManager.findFiles(source, "%_internal.tar.gz")) - - self.progressJob = ProgressJob(progressBar, 2 * jobs) #indexing and analying + self.progressJob = ProgressJob(progressBar, max_apps * 2) #indexing and analying # For each data source, we will process it each one @@ -194,7 +189,7 @@ def process_by_datasource(self, dataSource): report_folder_path = os.path.join(temp_directory, app_id, str(report_number)) #report path Utils.check_and_generate_folder(report_folder_path) - self.progressJob.change_text("Analyzing Information for {} ({})".format(dataSource.getName(), app_id)) + self.progressJob.next_job("Analyzing Information for {} ({})".format(dataSource.getName(), app_id)) # Folder to analyze analyzer = Analyzer(app_id, base_path, report_folder_path) @@ -222,7 +217,7 @@ def process_by_datasource(self, dataSource): except: continue - self.progressJob.next_job("Processing report {} ".format(app_id)) + self.progressJob.change_text("Processing report {} ".format(app_id)) # Since we can have multiple json files for multiple apps, we have to track how many reports exists for each app if not reports_by_app.get(app_id): reports_by_app[app_id] = [] diff --git a/psy/processor.py b/psy/processor.py index cab013b..f577aa4 100644 --- a/psy/processor.py +++ b/psy/processor.py @@ -112,7 +112,7 @@ def initComponents(self): self.p_method = SettingsUtils.createPanel(ptop = 15) - self.sp2 = SettingsUtils.createSeparators(1) + self.sp2 = SettingsUtils.createSeparators(0) self.p_info.add(self.sp2, BorderLayout.SOUTH) self.p_method.add(JLabel("Extract user data from:")) diff --git a/template/assets/js/report.js b/template/assets/js/report.js index ca6936a..9860776 100644 --- a/template/assets/js/report.js +++ b/template/assets/js/report.js @@ -236,7 +236,6 @@ function renderMedia() { content += ``; $("#page-builder").html(content); - $(".button-copy").on("click", copyText); renderMediaList("all") @@ -244,6 +243,9 @@ function renderMedia() { renderMediaList(this.value) }); + + $(".button-copy").on("click", copyText); + } function renderMediaList(filter){ @@ -271,7 +273,7 @@ function renderMediaList(filter){ return } - mediaListing += ``; + mediaListing += ``; if ((item["type"] === "video" && (filter === "all" || filter === "video")) || (item["type"] === "audio" && (filter === "all" || filter === "video"))){ mediaListing += `Download for External Player` @@ -291,18 +293,6 @@ function renderMediaList(filter){ return mediaListing } - -function copyToClipboard(str) { - const el = document.createElement('input'); - el.value = str; - document.body.appendChild(el); - el.select(); - document.execCommand('copy'); - document.body.removeChild(el); -}; - - - function pageBuilder(titlenumber) { //if (!(title in reportData)) { // return;