From c983f6594ff44a2f843dfb13717cab98b09dc1ee Mon Sep 17 00:00:00 2001 From: Erez Date: Sun, 26 Nov 2017 12:31:40 -0800 Subject: [PATCH 1/6] Fix when auth.json doesn't exist --- helpers.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helpers.py b/helpers.py index 626b167..810c9f7 100644 --- a/helpers.py +++ b/helpers.py @@ -26,7 +26,7 @@ def get_access_token(email, password): def get_login_credentials(): print("Checking for credentials..") if os.path.exists('auth.json'): - print("Auth.json existed..") + print("Auth.json exists..") with open('auth.json') as data_file: data = json.load(data_file) if "email" in data and "password" in data and "FBID" in data: @@ -35,4 +35,4 @@ def get_login_credentials(): print("Invalid auth.json file.") print("Auth.json missing or invalid. Please enter your credentials.") - return (input("Enter email..\n"), input("Enter password..\n")) + return (input("Enter email..\n"), input("Enter password..\n"), input("Enter FBID...\n")) From 997803992f98695d11e7548185bf05416fc6fb63 Mon Sep 17 00:00:00 2001 From: Erez Date: Sun, 26 Nov 2017 12:32:18 -0800 Subject: [PATCH 2/6] Ensure data dir exists --- io_helpers.py | 28 ++++++++++++++++++++-------- main.py | 3 ++- 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/io_helpers.py b/io_helpers.py index fc4d49a..fa41cdb 100644 --- a/io_helpers.py +++ b/io_helpers.py @@ -1,19 +1,31 @@ +import errno +import os from skimage.io import imsave -base_folder = "data" +base_folder = os.path.dirname(os.path.abspath(__file__)) + "/data" -def save_image(image, name, liked): - - filename = base_folder +LIKE_FOLDER = base_folder + "/likes/" +DISLIKE_FOLDER = base_folder + "/dislikes/" - if liked: - filename += "/likes/" - else: - filename += "/dislikes/" +def save_image(image, name, liked): + filename = LIKE_FOLDER if liked else DISLIKE_FOLDER file_url_list = name.split("/") filename += file_url_list[-1] print(filename) imsave(filename, image) + +def init(): + mkdir_p(LIKE_FOLDER) + mkdir_p(DISLIKE_FOLDER) + +def mkdir_p(path): + try: + os.makedirs(path) + except OSError as exc: # Python >2.5 + if exc.errno == errno.EEXIST and os.path.isdir(path): + pass + else: + raise diff --git a/main.py b/main.py index 541b08b..bf558b4 100644 --- a/main.py +++ b/main.py @@ -2,7 +2,7 @@ import pynder import matplotlib.pyplot as plt from helpers import get_access_token, get_login_credentials -from io_helpers import save_image +from io_helpers import save_image, init as init_io email, password, FBID = get_login_credentials() FBTOKEN = get_access_token(email, password) @@ -11,6 +11,7 @@ while True: users = session.nearby_users() + init_io() for user in users: photos = user.get_photos() print("Fetched user photos..") From f26c3e4fabc312f8e448a2f94974fc631cc827ad Mon Sep 17 00:00:00 2001 From: Erez Date: Sun, 26 Nov 2017 12:33:56 -0800 Subject: [PATCH 3/6] Make main.py executable --- main.py | 2 ++ 1 file changed, 2 insertions(+) mode change 100644 => 100755 main.py diff --git a/main.py b/main.py old mode 100644 new mode 100755 index bf558b4..d3147d2 --- a/main.py +++ b/main.py @@ -1,3 +1,5 @@ +#! /usr/bin/env python + from skimage.io import imread, imsave, imshow, show import pynder import matplotlib.pyplot as plt From 76514f7b611955dc08a4cfd6b314bd0e5e96dd28 Mon Sep 17 00:00:00 2001 From: Erez Date: Sun, 26 Nov 2017 12:34:04 -0800 Subject: [PATCH 4/6] Upgrade pynder - handler school['id'] not existing --- pynder | 1 - requirements.txt | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) delete mode 160000 pynder diff --git a/pynder b/pynder deleted file mode 160000 index 058c3e5..0000000 --- a/pynder +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 058c3e59d5d6a98a6fa6108cecfcb8dfc958fde9 diff --git a/requirements.txt b/requirements.txt index 40da8b9..5b295e4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ networkx==1.11 numpy==1.13.0 olefile==0.44 Pillow==4.1.1 -pynder==0.0.13 +git+https://github.com/charliewolf/pynder.git@6b6827b pyparsing==2.2.0 python-dateutil==2.6.0 pytz==2017.2 From 35d642368eda8eff61fdcc68d344a91e3c409278 Mon Sep 17 00:00:00 2001 From: Erez Date: Sun, 26 Nov 2017 12:35:21 -0800 Subject: [PATCH 5/6] Bigger images --- main.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index d3147d2..9e8e7b3 100755 --- a/main.py +++ b/main.py @@ -1,8 +1,8 @@ #! /usr/bin/env python from skimage.io import imread, imsave, imshow, show +from matplotlib.pyplot import subplots import pynder -import matplotlib.pyplot as plt from helpers import get_access_token, get_login_credentials from io_helpers import save_image, init as init_io @@ -19,6 +19,7 @@ print("Fetched user photos..") for photo in photos: image = imread(photo) + fig, ax = subplots(figsize=(10, 10)) imshow(image) show() From 0aa8e786dee7f6c688bf261546c8cb2cb69a211a Mon Sep 17 00:00:00 2001 From: Erez Date: Sun, 26 Nov 2017 12:36:03 -0800 Subject: [PATCH 6/6] Allow skipping images when tagging if opinion is ambiguous If there is no face, multiple faces, or it's hard to see the face. There is no point training on this image if even a human can't decide. --- main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index 9e8e7b3..c6b199e 100755 --- a/main.py +++ b/main.py @@ -23,10 +23,10 @@ imshow(image) show() - input_string = "Write 1 to like. Write 2 to dislike" + input_string = "Write 1 to like. Write 2 to dislike. Any other character if you don't know." ans = input(input_string).lower() if ans == "1": save_image(image, photo, True) - else: + elif ans == '2': save_image(image, photo, False)