Browse Source

Merge pull request #49 from ConnorSkees/logging

Logging
pull/50/head
Wesley Kerfoot 6 years ago
committed by GitHub
parent
commit
8befcfd3be
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      README.md
  2. 5
      deletefb/__main__.py
  3. 0
      deletefb/deletefb.log
  4. 13
      deletefb/deletefb.py
  5. 62
      deletefb/logging_conf.json
  6. 19
      deletefb/tools/common.py
  7. 5
      deletefb/tools/likes.py

3
README.md

@ -22,8 +22,7 @@ You have several options to run it.
1) Install from PyPI with `pip install --user delete-facebook-posts`
2) Clone this repo and run `pip install --user .` or do `pip install --user
git+https://github.com/weskerfoot/DeleteFB.git`
3) Set up a Python virtualenv, activate it, and run `pip install -r
requirements.txt`, then you can just run `python -m deletefb.deletefb.py` in the project directory, as you would if you had installed it from PyPI.
3) Set up a Python virtualenv, activate it, and run `pip install -r requirements.txt`, then you can just run `python deletefb` in the DeleteFB directory.
## How To Use It

5
deletefb/__main__.py

@ -0,0 +1,5 @@
#!/usr/bin/env python
import deletefb
if __name__ == "__main__":
deletefb.run_delete()

0
deletefb/deletefb.log

13
deletefb/deletefb.py

@ -2,12 +2,17 @@
import argparse
import getpass
import sys
import json
import os
import sys
from tools.common import logger
from tools.login import login
from tools.wall import delete_posts
from tools.likes import unlike_pages
LOG = logger("deletefb")
from .tools.login import login
from .tools.wall import delete_posts
from .tools.likes import unlike_pages
def run_delete():
parser = argparse.ArgumentParser()

62
deletefb/logging_conf.json

@ -0,0 +1,62 @@
{
"logging": {
"version": 1,
"disable_existing_loggers": true,
"formatters": {
"brief": {
"class": "logging.Formatter",
"style": "{",
"datefmt": "%H:%M:%S",
"format": "{name:s}-{levelname:s}-{asctime:s}-{message:s}"
},
"verbose": {
"class": "logging.Formatter",
"style": "{",
"datefmt": "%Y-%m-%dT%H:%M:%S",
"format": "{name:s}:{levelname:s}:L{lineno:d} {asctime:s} {message:s}"
}
},
"handlers": {
"console": {
"level": "DEBUG",
"class": "logging.StreamHandler",
"formatter": "brief",
"stream": "ext://sys.stdout"
},
"file_handler": {
"level": "INFO",
"class": "logging.handlers.WatchedFileHandler",
"formatter": "verbose",
"filename": "deletefb/deletefb.log",
"mode": "a",
"encoding": "utf-8"
}
},
"loggers": {
"root": {
"level": "DEBUG",
"handlers": ["console", "file_handler"]
},
"deletefb": {
"level": "DEBUG",
"handlers": ["console"],
"propagate": false
},
"login": {
"level": "DEBUG",
"handlers": ["file_handler"],
"propagate": false
},
"likes": {
"level": "DEBUG",
"handlers": ["file_handler"],
"propagate": false
},
"wall": {
"level": "DEBUG",
"handlers": ["file_handler"],
"propagate": false
}
}
}
}

19
deletefb/tools/common.py

@ -1,6 +1,8 @@
import json
import logging
import logging.config
import os
from os.path import abspath, relpath, split
from os.path import abspath, relpath, split, isfile
import time
from selenium.common.exceptions import (
@ -24,6 +26,21 @@ def try_move(actions, el):
time.sleep(5)
continue
def logger(name):
"""
Args:
name (str): Logger name
Returns:
logging.Logger
"""
config_path = "deletefb/logging_conf.json"
if not isfile(config_path): # called from file (deletefb.py)
os.chdir("..")
with open(config_path, "r", encoding="utf-8") as config_file:
config = json.load(config_file)
logging.config.dictConfig(config["logging"])
return logging.getLogger(name)
def archiver(category):
"""

5
deletefb/tools/likes.py

@ -3,7 +3,9 @@ from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from .common import SELENIUM_EXCEPTIONS, archiver
from .common import SELENIUM_EXCEPTIONS, archiver, logger
LOG = logger(__name__)
def load_likes(driver):
@ -29,6 +31,7 @@ def load_likes(driver):
EC.presence_of_element_located((By.XPATH, "//button/div/i[@aria-hidden=\"true\"]"))
)
except SELENIUM_EXCEPTIONS:
LOG.exception("Traceback of load_likes")
return
def unlike_pages(driver):

Loading…
Cancel
Save