Some PEP8

This commit is contained in:
KnugiHK
2021-07-10 22:01:04 +08:00
parent 3ed59ee051
commit ab42cad166
5 changed files with 27 additions and 18 deletions

View File

@@ -1 +1 @@
__version__ = "0.6"
__version__ = "0.6"

View File

@@ -1,5 +1,6 @@
from .__init__ import __version__
from Whatsapp_Chat_Exporter import extract, extract_iphone, extract_iphone_media
from Whatsapp_Chat_Exporter import extract, extract_iphone
from Whatsapp_Chat_Exporter import extract_iphone_media
from optparse import OptionParser
import os
import sqlite3
@@ -40,7 +41,8 @@ def main():
"--backup",
dest="backup",
default=None,
help="Path to Android (must be used together with -k)/iPhone WhatsApp backup")
help="Path to Android (must be used together "
"with -k)/iPhone WhatsApp backup")
parser.add_option(
"-o",
"--output",
@@ -102,7 +104,8 @@ def main():
db = open(options.backup, "rb").read()
is_crypt14 = False if "crypt12" in options.backup else True
if not extract.decrypt_backup(db, key, msg_db, is_crypt14):
print("Dependencies of decrypt_backup are not present. For details, see README.md")
print("Dependencies of decrypt_backup are not "
"present. For details, see README.md")
return False
if options.wa is None:
contact_db = "wa.db"
@@ -110,14 +113,14 @@ def main():
contact_db = options.wa
if options.media is None:
options.media = "WhatsApp"
if len(args) == 1:
msg_db = args[0]
if os.path.isfile(contact_db):
with sqlite3.connect(contact_db) as db:
contacts(db, data)
elif options.iphone:
messages = extract_iphone.messages
media = extract_iphone.media

View File

@@ -116,7 +116,7 @@ def messages(db, data):
f"Gathering messages...({total_row_number}/{total_row_number})", end="\r")
def media(db, data, media_folder):
def media(db, data):
c = db.cursor()
# Get media
c.execute("""SELECT count() FROM ZWAMEDIAITEM""")
@@ -217,7 +217,7 @@ def create_html(data, output_folder, template=None):
templateEnv = jinja2.Environment(loader=templateLoader)
templateEnv.globals.update(determine_day=determine_day)
template = templateEnv.get_template(template_file)
total_row_number = len(data)
print(f"\nCreating HTML...(0/{total_row_number})", end="\r")

View File

@@ -6,21 +6,24 @@ import os
import getpass
try:
from iphone_backup_decrypt import EncryptedBackup, RelativePath
except:
except ModuleNotFoundError:
support_encrypted = False
else:
support_encrypted = True
def extract_encrypted(base_dir, password):
backup = EncryptedBackup(backup_directory=base_dir, passphrase=password)
print("Decrypting WhatsApp database...")
backup.extract_file(relative_path=RelativePath.WHATSAPP_MESSAGES, output_filename="7c7fba66680ef796b916b067077cc246adacf01d")
backup.extract_file(relative_path=RelativePath.WHATSAPP_CONTACTS, output_filename="ContactsV2.sqlite")
backup.extract_file(relative_path=RelativePath.WHATSAPP_MESSAGES,
output_filename="7c7fba66680ef796b916b067077cc246adacf01d")
backup.extract_file(relative_path=RelativePath.WHATSAPP_CONTACTS,
output_filename="ContactsV2.sqlite")
data = backup.execute_sql("""SELECT count()
FROM Files
WHERE relativePath
LIKE 'Message/Media/%'"""
)
)
total_row_number = data[0][0]
print(f"Gathering media...(0/{total_row_number})", end="\r")
data = backup.execute_sql("""SELECT fileID,
@@ -30,7 +33,7 @@ def extract_encrypted(base_dir, password):
FROM Files
WHERE relativePath
LIKE 'Message/Media/%'"""
)
)
if not os.path.isdir("Message"):
os.mkdir("Message")
if not os.path.isdir("Message/Media"):
@@ -43,7 +46,7 @@ def extract_encrypted(base_dir, password):
flags = row[2]
file = row[3]
if flags == 2:
try:
try:
os.mkdir(destination)
except FileExistsError:
pass
@@ -56,6 +59,7 @@ def extract_encrypted(base_dir, password):
print(f"Gathering media...({i}/{total_row_number})", end="\r")
print(f"Gathering media...({total_row_number}/{total_row_number})", end="\r")
def is_encrypted(base_dir):
with sqlite3.connect(f"{base_dir}/Manifest.db") as f:
c = f.cursor()
@@ -68,6 +72,7 @@ def is_encrypted(base_dir):
else:
return False
def extract_media(base_dir):
if is_encrypted(base_dir):
if not support_encrypted:

View File

@@ -12,12 +12,13 @@ setuptools.setup(
version=version,
author="KnugiHK",
author_email="info@knugi.com",
description="A Whatsapp database parser that will give you the history of your Whatsapp conversations in HTML and JSON.",
description="A Whatsapp database parser that will give you the "
"history of your Whatsapp conversations in HTML and JSON.",
long_description=long_description,
long_description_content_type="text/markdown",
url="https://github.com/KnugiHK/Whatsapp-Chat-Exporter",
packages=setuptools.find_packages(),
package_data = {
package_data={
'': ['whatsapp.html']
},
classifiers=[
@@ -38,7 +39,7 @@ setuptools.setup(
install_requires=[
'jinja2'
],
extras_require = {
extras_require={
'android_backup': ["pycryptodome"]
},
entry_points={
@@ -46,4 +47,4 @@ setuptools.setup(
"wtsexporter = Whatsapp_Chat_Exporter.__main__:main"
]
}
)
)