diff --git a/backend b/backend index 060e506..f94c64e 160000 --- a/backend +++ b/backend @@ -1 +1 @@ -Subproject commit 060e506547778df6914f848e6e21d719a47a9446 +Subproject commit f94c64e699e29cac8c707337e219ada64a1ae01e diff --git a/calendarwatch/bin/activate b/calendarwatch/bin/activate deleted file mode 100644 index a08dcd6..0000000 --- a/calendarwatch/bin/activate +++ /dev/null @@ -1,84 +0,0 @@ -# This file must be used with "source bin/activate" *from bash* -# you cannot run it directly - - -if [ "${BASH_SOURCE-}" = "$0" ]; then - echo "You must source this script: \$ source $0" >&2 - exit 33 -fi - -deactivate () { - unset -f pydoc >/dev/null 2>&1 - - # reset old environment variables - # ! [ -z ${VAR+_} ] returns true if VAR is declared at all - if ! [ -z "${_OLD_VIRTUAL_PATH:+_}" ] ; then - PATH="$_OLD_VIRTUAL_PATH" - export PATH - unset _OLD_VIRTUAL_PATH - fi - if ! [ -z "${_OLD_VIRTUAL_PYTHONHOME+_}" ] ; then - PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME" - export PYTHONHOME - unset _OLD_VIRTUAL_PYTHONHOME - fi - - # This should detect bash and zsh, which have a hash command that must - # be called to get it to forget past commands. Without forgetting - # past commands the $PATH changes we made may not be respected - if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then - hash -r 2>/dev/null - fi - - if ! [ -z "${_OLD_VIRTUAL_PS1+_}" ] ; then - PS1="$_OLD_VIRTUAL_PS1" - export PS1 - unset _OLD_VIRTUAL_PS1 - fi - - unset VIRTUAL_ENV - if [ ! "${1-}" = "nondestructive" ] ; then - # Self destruct! - unset -f deactivate - fi -} - -# unset irrelevant variables -deactivate nondestructive - -VIRTUAL_ENV='/home/raphael/dev/git/calendarwatch_frontend/calendarwatch' -export VIRTUAL_ENV - -_OLD_VIRTUAL_PATH="$PATH" -PATH="$VIRTUAL_ENV/bin:$PATH" -export PATH - -# unset PYTHONHOME if set -if ! [ -z "${PYTHONHOME+_}" ] ; then - _OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME" - unset PYTHONHOME -fi - -if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then - _OLD_VIRTUAL_PS1="${PS1-}" - if [ "x" != x ] ; then - PS1="${PS1-}" - else - PS1="(`basename \"$VIRTUAL_ENV\"`) ${PS1-}" - fi - export PS1 -fi - -# Make sure to unalias pydoc if it's already there -alias pydoc 2>/dev/null >/dev/null && unalias pydoc || true - -pydoc () { - python -m pydoc "$@" -} - -# This should detect bash and zsh, which have a hash command that must -# be called to get it to forget past commands. Without forgetting -# past commands the $PATH changes we made may not be respected -if [ -n "${BASH-}" ] || [ -n "${ZSH_VERSION-}" ] ; then - hash -r 2>/dev/null -fi diff --git a/calendarwatch/bin/activate.csh b/calendarwatch/bin/activate.csh deleted file mode 100644 index e4f7932..0000000 --- a/calendarwatch/bin/activate.csh +++ /dev/null @@ -1,55 +0,0 @@ -# This file must be used with "source bin/activate.csh" *from csh*. -# You cannot run it directly. -# Created by Davide Di Blasi . - -set newline='\ -' - -alias deactivate 'test $?_OLD_VIRTUAL_PATH != 0 && setenv PATH "$_OLD_VIRTUAL_PATH:q" && unset _OLD_VIRTUAL_PATH; rehash; test $?_OLD_VIRTUAL_PROMPT != 0 && set prompt="$_OLD_VIRTUAL_PROMPT:q" && unset _OLD_VIRTUAL_PROMPT; unsetenv VIRTUAL_ENV; test "\!:*" != "nondestructive" && unalias deactivate && unalias pydoc' - -# Unset irrelevant variables. -deactivate nondestructive - -setenv VIRTUAL_ENV '/home/raphael/dev/git/calendarwatch_frontend/calendarwatch' - -set _OLD_VIRTUAL_PATH="$PATH:q" -setenv PATH "$VIRTUAL_ENV:q/bin:$PATH:q" - - - -if ('' != "") then - set env_name = '' -else - set env_name = '('"$VIRTUAL_ENV:t:q"') ' -endif - -if ( $?VIRTUAL_ENV_DISABLE_PROMPT ) then - if ( $VIRTUAL_ENV_DISABLE_PROMPT == "" ) then - set do_prompt = "1" - else - set do_prompt = "0" - endif -else - set do_prompt = "1" -endif - -if ( $do_prompt == "1" ) then - # Could be in a non-interactive environment, - # in which case, $prompt is undefined and we wouldn't - # care about the prompt anyway. - if ( $?prompt ) then - set _OLD_VIRTUAL_PROMPT="$prompt:q" - if ( "$prompt:q" =~ *"$newline:q"* ) then - : - else - set prompt = "$env_name:q$prompt:q" - endif - endif -endif - -unset env_name -unset do_prompt - -alias pydoc python -m pydoc - -rehash diff --git a/calendarwatch/bin/activate.fish b/calendarwatch/bin/activate.fish deleted file mode 100644 index 8d960e0..0000000 --- a/calendarwatch/bin/activate.fish +++ /dev/null @@ -1,100 +0,0 @@ -# This file must be used using `source bin/activate.fish` *within a running fish ( http://fishshell.com ) session*. -# Do not run it directly. - -function _bashify_path -d "Converts a fish path to something bash can recognize" - set fishy_path $argv - set bashy_path $fishy_path[1] - for path_part in $fishy_path[2..-1] - set bashy_path "$bashy_path:$path_part" - end - echo $bashy_path -end - -function _fishify_path -d "Converts a bash path to something fish can recognize" - echo $argv | tr ':' '\n' -end - -function deactivate -d 'Exit virtualenv mode and return to the normal environment.' - # reset old environment variables - if test -n "$_OLD_VIRTUAL_PATH" - # https://github.com/fish-shell/fish-shell/issues/436 altered PATH handling - if test (echo $FISH_VERSION | head -c 1) -lt 3 - set -gx PATH (_fishify_path "$_OLD_VIRTUAL_PATH") - else - set -gx PATH "$_OLD_VIRTUAL_PATH" - end - set -e _OLD_VIRTUAL_PATH - end - - if test -n "$_OLD_VIRTUAL_PYTHONHOME" - set -gx PYTHONHOME "$_OLD_VIRTUAL_PYTHONHOME" - set -e _OLD_VIRTUAL_PYTHONHOME - end - - if test -n "$_OLD_FISH_PROMPT_OVERRIDE" - and functions -q _old_fish_prompt - # Set an empty local `$fish_function_path` to allow the removal of `fish_prompt` using `functions -e`. - set -l fish_function_path - - # Erase virtualenv's `fish_prompt` and restore the original. - functions -e fish_prompt - functions -c _old_fish_prompt fish_prompt - functions -e _old_fish_prompt - set -e _OLD_FISH_PROMPT_OVERRIDE - end - - set -e VIRTUAL_ENV - - if test "$argv[1]" != 'nondestructive' - # Self-destruct! - functions -e pydoc - functions -e deactivate - functions -e _bashify_path - functions -e _fishify_path - end -end - -# Unset irrelevant variables. -deactivate nondestructive - -set -gx VIRTUAL_ENV '/home/raphael/dev/git/calendarwatch_frontend/calendarwatch' - -# https://github.com/fish-shell/fish-shell/issues/436 altered PATH handling -if test (echo $FISH_VERSION | head -c 1) -lt 3 - set -gx _OLD_VIRTUAL_PATH (_bashify_path $PATH) -else - set -gx _OLD_VIRTUAL_PATH "$PATH" -end -set -gx PATH "$VIRTUAL_ENV"'/bin' $PATH - -# Unset `$PYTHONHOME` if set. -if set -q PYTHONHOME - set -gx _OLD_VIRTUAL_PYTHONHOME $PYTHONHOME - set -e PYTHONHOME -end - -function pydoc - python -m pydoc $argv -end - -if test -z "$VIRTUAL_ENV_DISABLE_PROMPT" - # Copy the current `fish_prompt` function as `_old_fish_prompt`. - functions -c fish_prompt _old_fish_prompt - - function fish_prompt - # Run the user's prompt first; it might depend on (pipe)status. - set -l prompt (_old_fish_prompt) - - # Prompt override provided? - # If not, just prepend the environment name. - if test -n '' - printf '%s%s' '' (set_color normal) - else - printf '%s(%s) ' (set_color normal) (basename "$VIRTUAL_ENV") - end - - string join -- \n $prompt # handle multi-line prompts - end - - set -gx _OLD_FISH_PROMPT_OVERRIDE "$VIRTUAL_ENV" -end diff --git a/calendarwatch/bin/activate.ps1 b/calendarwatch/bin/activate.ps1 deleted file mode 100644 index 95504d3..0000000 --- a/calendarwatch/bin/activate.ps1 +++ /dev/null @@ -1,60 +0,0 @@ -$script:THIS_PATH = $myinvocation.mycommand.path -$script:BASE_DIR = Split-Path (Resolve-Path "$THIS_PATH/..") -Parent - -function global:deactivate([switch] $NonDestructive) { - if (Test-Path variable:_OLD_VIRTUAL_PATH) { - $env:PATH = $variable:_OLD_VIRTUAL_PATH - Remove-Variable "_OLD_VIRTUAL_PATH" -Scope global - } - - if (Test-Path function:_old_virtual_prompt) { - $function:prompt = $function:_old_virtual_prompt - Remove-Item function:\_old_virtual_prompt - } - - if ($env:VIRTUAL_ENV) { - Remove-Item env:VIRTUAL_ENV -ErrorAction SilentlyContinue - } - - if (!$NonDestructive) { - # Self destruct! - Remove-Item function:deactivate - Remove-Item function:pydoc - } -} - -function global:pydoc { - python -m pydoc $args -} - -# unset irrelevant variables -deactivate -nondestructive - -$VIRTUAL_ENV = $BASE_DIR -$env:VIRTUAL_ENV = $VIRTUAL_ENV - -New-Variable -Scope global -Name _OLD_VIRTUAL_PATH -Value $env:PATH - -$env:PATH = "$env:VIRTUAL_ENV/bin:" + $env:PATH -if (!$env:VIRTUAL_ENV_DISABLE_PROMPT) { - function global:_old_virtual_prompt { - "" - } - $function:_old_virtual_prompt = $function:prompt - - if ("" -ne "") { - function global:prompt { - # Add the custom prefix to the existing prompt - $previous_prompt_value = & $function:_old_virtual_prompt - ("" + $previous_prompt_value) - } - } - else { - function global:prompt { - # Add a prefix to the current prompt, but don't discard it. - $previous_prompt_value = & $function:_old_virtual_prompt - $new_prompt_value = "($( Split-Path $env:VIRTUAL_ENV -Leaf )) " - ($new_prompt_value + $previous_prompt_value) - } - } -} diff --git a/calendarwatch/bin/activate.xsh b/calendarwatch/bin/activate.xsh deleted file mode 100644 index cdd74cb..0000000 --- a/calendarwatch/bin/activate.xsh +++ /dev/null @@ -1,46 +0,0 @@ -"""Xonsh activate script for virtualenv""" -from xonsh.tools import get_sep as _get_sep - -def _deactivate(args): - if "pydoc" in aliases: - del aliases["pydoc"] - - if ${...}.get("_OLD_VIRTUAL_PATH", ""): - $PATH = $_OLD_VIRTUAL_PATH - del $_OLD_VIRTUAL_PATH - - if ${...}.get("_OLD_VIRTUAL_PYTHONHOME", ""): - $PYTHONHOME = $_OLD_VIRTUAL_PYTHONHOME - del $_OLD_VIRTUAL_PYTHONHOME - - if "VIRTUAL_ENV" in ${...}: - del $VIRTUAL_ENV - - if "VIRTUAL_ENV_PROMPT" in ${...}: - del $VIRTUAL_ENV_PROMPT - - if "nondestructive" not in args: - # Self destruct! - del aliases["deactivate"] - - -# unset irrelevant variables -_deactivate(["nondestructive"]) -aliases["deactivate"] = _deactivate - -$VIRTUAL_ENV = r"/home/raphael/dev/git/calendarwatch_frontend/calendarwatch" - -$_OLD_VIRTUAL_PATH = $PATH -$PATH = $PATH[:] -$PATH.add($VIRTUAL_ENV + _get_sep() + "bin", front=True, replace=True) - -if ${...}.get("PYTHONHOME", ""): - # unset PYTHONHOME if set - $_OLD_VIRTUAL_PYTHONHOME = $PYTHONHOME - del $PYTHONHOME - -$VIRTUAL_ENV_PROMPT = "" -if not $VIRTUAL_ENV_PROMPT: - del $VIRTUAL_ENV_PROMPT - -aliases["pydoc"] = ["python", "-m", "pydoc"] diff --git a/calendarwatch/bin/activate_this.py b/calendarwatch/bin/activate_this.py deleted file mode 100644 index c343685..0000000 --- a/calendarwatch/bin/activate_this.py +++ /dev/null @@ -1,32 +0,0 @@ -# -*- coding: utf-8 -*- -"""Activate virtualenv for current interpreter: - -Use exec(open(this_file).read(), {'__file__': this_file}). - -This can be used when you must use an existing Python interpreter, not the virtualenv bin/python. -""" -import os -import site -import sys - -try: - abs_file = os.path.abspath(__file__) -except NameError: - raise AssertionError("You must use exec(open(this_file).read(), {'__file__': this_file}))") - -bin_dir = os.path.dirname(abs_file) -base = bin_dir[: -len("bin") - 1] # strip away the bin part from the __file__, plus the path separator - -# prepend bin to PATH (this file is inside the bin directory) -os.environ["PATH"] = os.pathsep.join([bin_dir] + os.environ.get("PATH", "").split(os.pathsep)) -os.environ["VIRTUAL_ENV"] = base # virtual env is right above bin directory - -# add the virtual environments libraries to the host python import mechanism -prev_length = len(sys.path) -for lib in "../lib/python3.7/site-packages".split(os.pathsep): - path = os.path.realpath(os.path.join(bin_dir, lib)) - site.addsitedir(path.decode("utf-8") if "" else path) -sys.path[:] = sys.path[prev_length:] + sys.path[0:prev_length] - -sys.real_prefix = sys.prefix -sys.prefix = base diff --git a/calendarwatch/bin/alembic b/calendarwatch/bin/alembic deleted file mode 100755 index 2d1eeb5..0000000 --- a/calendarwatch/bin/alembic +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from alembic.config import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/calendarwatch/bin/chardetect b/calendarwatch/bin/chardetect deleted file mode 100755 index bbd2989..0000000 --- a/calendarwatch/bin/chardetect +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from chardet.cli.chardetect import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/calendarwatch/bin/dotenv b/calendarwatch/bin/dotenv deleted file mode 100755 index 1f70c34..0000000 --- a/calendarwatch/bin/dotenv +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from dotenv.cli import cli -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(cli()) diff --git a/calendarwatch/bin/easy_install b/calendarwatch/bin/easy_install deleted file mode 100755 index ffb7980..0000000 --- a/calendarwatch/bin/easy_install +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from setuptools.command.easy_install import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/calendarwatch/bin/easy_install-3.7 b/calendarwatch/bin/easy_install-3.7 deleted file mode 100755 index ffb7980..0000000 --- a/calendarwatch/bin/easy_install-3.7 +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from setuptools.command.easy_install import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/calendarwatch/bin/easy_install3 b/calendarwatch/bin/easy_install3 deleted file mode 100755 index ffb7980..0000000 --- a/calendarwatch/bin/easy_install3 +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from setuptools.command.easy_install import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/calendarwatch/bin/email_validator b/calendarwatch/bin/email_validator deleted file mode 100755 index b9cd714..0000000 --- a/calendarwatch/bin/email_validator +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from email_validator import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/calendarwatch/bin/flask b/calendarwatch/bin/flask deleted file mode 100755 index 7517604..0000000 --- a/calendarwatch/bin/flask +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from flask.cli import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/calendarwatch/bin/google b/calendarwatch/bin/google deleted file mode 100755 index 4a61d0e..0000000 --- a/calendarwatch/bin/google +++ /dev/null @@ -1,137 +0,0 @@ -#!/usr/bin/python - -# Python bindings to the Google search engine -# Copyright (c) 2009-2019, Mario Vilas -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, -# this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice,this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of the copyright holder nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. - -import sys - -from googlesearch import search, get_random_user_agent - -# TODO port to argparse -from optparse import OptionParser, IndentedHelpFormatter - - -class BannerHelpFormatter(IndentedHelpFormatter): - - "Just a small tweak to optparse to be able to print a banner." - - def __init__(self, banner, *argv, **argd): - self.banner = banner - IndentedHelpFormatter.__init__(self, *argv, **argd) - - def format_usage(self, usage): - msg = IndentedHelpFormatter.format_usage(self, usage) - return '%s\n%s' % (self.banner, msg) - - -def main(): - - # Parse the command line arguments. - formatter = BannerHelpFormatter( - "Python script to use the Google search engine\n" - "By Mario Vilas (mvilas at gmail dot com)\n" - "https://github.com/MarioVilas/googlesearch\n" - ) - parser = OptionParser(formatter=formatter) - parser.set_usage("%prog [options] query") - parser.add_option( - '--tld', metavar='TLD', type='string', default='com', - help="top level domain to use [default: com]") - parser.add_option( - '--lang', metavar='LANGUAGE', type='string', default='en', - help="produce results in the given language [default: en]") - parser.add_option( - '--domains', metavar='DOMAINS', type='string', default='', - help="comma separated list of domains to constrain the search to") - parser.add_option( - '--tbs', metavar='TBS', type='string', default='0', - help="produce results from period [default: 0]") - parser.add_option( - '--safe', metavar='SAFE', type='string', default='off', - help="kids safe search [default: off]") - parser.add_option( - '--type', metavar='TYPE', type='string', default='search', dest='tpe', - help="search type (search, images, videos, news, shopping, books," - " apps) [default: search]") - parser.add_option( - '--country', metavar='COUNTRY', type='string', default='', - help="region to restrict search on [default: not restricted]") - parser.add_option( - '--num', metavar='NUMBER', type='int', default=10, - help="number of results per page [default: 10]") - parser.add_option( - '--start', metavar='NUMBER', type='int', default=0, - help="first result to retrieve [default: 0]") - parser.add_option( - '--stop', metavar='NUMBER', type='int', default=0, - help="last result to retrieve [default: unlimited]") - parser.add_option( - '--pause', metavar='SECONDS', type='float', default=2.0, - help="pause between HTTP requests [default: 2.0]") - parser.add_option( - '--rua', metavar='USERAGENT', action='store_true', default=False, - help="Randomize the User-Agent [default: no]") - (options, args) = parser.parse_args() - query = ' '.join(args) - if not query: - parser.print_help() - sys.exit(2) - params = [ - (k, v) for (k, v) in options.__dict__.items() - if not k.startswith('_')] - params = dict(params) - - # Split the comma separated list of domains, if present. - if 'domains' in params: - params['domains'] = [x.strip() for x in params['domains'].split(',')] - - # Use a special search type if requested. - if 'tpe' in params: - tpe = params['tpe'] - if tpe and tpe not in ( - 'search', 'images', 'videos', 'news', - 'shopping', 'books', 'apps'): - parser.error("invalid type: %r" % tpe) - if tpe == 'search': - params['tpe'] = '' - - # Randomize the user agent if requested. - if 'rua' in params and params.pop('rua'): - params['user_agent'] = get_random_user_agent() - - # Run the query. - for url in search(query, **params): - print(url) - try: - sys.stdout.flush() - except Exception: - pass - - -if __name__ == '__main__': - main() diff --git a/calendarwatch/bin/google-oauthlib-tool b/calendarwatch/bin/google-oauthlib-tool deleted file mode 100755 index 9362036..0000000 --- a/calendarwatch/bin/google-oauthlib-tool +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from google_auth_oauthlib.tool.__main__ import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/calendarwatch/bin/mako-render b/calendarwatch/bin/mako-render deleted file mode 100755 index 14a903c..0000000 --- a/calendarwatch/bin/mako-render +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from mako.cmd import cmdline -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(cmdline()) diff --git a/calendarwatch/bin/pip b/calendarwatch/bin/pip deleted file mode 100755 index b0cf59f..0000000 --- a/calendarwatch/bin/pip +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from pip._internal.cli.main import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/calendarwatch/bin/pip-3.7 b/calendarwatch/bin/pip-3.7 deleted file mode 100755 index b0cf59f..0000000 --- a/calendarwatch/bin/pip-3.7 +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from pip._internal.cli.main import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/calendarwatch/bin/pip3 b/calendarwatch/bin/pip3 deleted file mode 100755 index b0cf59f..0000000 --- a/calendarwatch/bin/pip3 +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from pip._internal.cli.main import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/calendarwatch/bin/pip3.7 b/calendarwatch/bin/pip3.7 deleted file mode 100755 index b0cf59f..0000000 --- a/calendarwatch/bin/pip3.7 +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from pip._internal.cli.main import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/calendarwatch/bin/pyrsa-decrypt b/calendarwatch/bin/pyrsa-decrypt deleted file mode 100755 index a8b65be..0000000 --- a/calendarwatch/bin/pyrsa-decrypt +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from rsa.cli import decrypt -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(decrypt()) diff --git a/calendarwatch/bin/pyrsa-encrypt b/calendarwatch/bin/pyrsa-encrypt deleted file mode 100755 index 0bcff21..0000000 --- a/calendarwatch/bin/pyrsa-encrypt +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from rsa.cli import encrypt -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(encrypt()) diff --git a/calendarwatch/bin/pyrsa-keygen b/calendarwatch/bin/pyrsa-keygen deleted file mode 100755 index a6e9a88..0000000 --- a/calendarwatch/bin/pyrsa-keygen +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from rsa.cli import keygen -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(keygen()) diff --git a/calendarwatch/bin/pyrsa-priv2pub b/calendarwatch/bin/pyrsa-priv2pub deleted file mode 100755 index 6075f20..0000000 --- a/calendarwatch/bin/pyrsa-priv2pub +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from rsa.util import private_to_public -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(private_to_public()) diff --git a/calendarwatch/bin/pyrsa-sign b/calendarwatch/bin/pyrsa-sign deleted file mode 100755 index 845d00a..0000000 --- a/calendarwatch/bin/pyrsa-sign +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from rsa.cli import sign -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(sign()) diff --git a/calendarwatch/bin/pyrsa-verify b/calendarwatch/bin/pyrsa-verify deleted file mode 100755 index 6a0d480..0000000 --- a/calendarwatch/bin/pyrsa-verify +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from rsa.cli import verify -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(verify()) diff --git a/calendarwatch/bin/python b/calendarwatch/bin/python deleted file mode 120000 index ae65fda..0000000 --- a/calendarwatch/bin/python +++ /dev/null @@ -1 +0,0 @@ -/usr/bin/python3 \ No newline at end of file diff --git a/calendarwatch/bin/python3 b/calendarwatch/bin/python3 deleted file mode 120000 index d8654aa..0000000 --- a/calendarwatch/bin/python3 +++ /dev/null @@ -1 +0,0 @@ -python \ No newline at end of file diff --git a/calendarwatch/bin/python3.7 b/calendarwatch/bin/python3.7 deleted file mode 120000 index d8654aa..0000000 --- a/calendarwatch/bin/python3.7 +++ /dev/null @@ -1 +0,0 @@ -python \ No newline at end of file diff --git a/calendarwatch/bin/uwsgi b/calendarwatch/bin/uwsgi deleted file mode 100755 index 163082a..0000000 Binary files a/calendarwatch/bin/uwsgi and /dev/null differ diff --git a/calendarwatch/bin/wheel b/calendarwatch/bin/wheel deleted file mode 100755 index 36377b8..0000000 --- a/calendarwatch/bin/wheel +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from wheel.cli import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/calendarwatch/bin/wheel-3.7 b/calendarwatch/bin/wheel-3.7 deleted file mode 100755 index 36377b8..0000000 --- a/calendarwatch/bin/wheel-3.7 +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from wheel.cli import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/calendarwatch/bin/wheel3 b/calendarwatch/bin/wheel3 deleted file mode 100755 index 36377b8..0000000 --- a/calendarwatch/bin/wheel3 +++ /dev/null @@ -1,8 +0,0 @@ -#!/home/raphael/dev/git/calendarwatch_frontend/calendarwatch/bin/python -# -*- coding: utf-8 -*- -import re -import sys -from wheel.cli import main -if __name__ == '__main__': - sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0]) - sys.exit(main()) diff --git a/calendarwatch/pyvenv.cfg b/calendarwatch/pyvenv.cfg deleted file mode 100644 index 7f6b09c..0000000 --- a/calendarwatch/pyvenv.cfg +++ /dev/null @@ -1,8 +0,0 @@ -home = /usr -implementation = CPython -version_info = 3.7.3.final.0 -virtualenv = 20.0.20 -include-system-site-packages = false -base-prefix = /usr -base-exec-prefix = /usr -base-executable = /usr/bin/python3 diff --git a/server/googleHandler.py b/server/googleHandler.py index aca646e..80be940 100644 --- a/server/googleHandler.py +++ b/server/googleHandler.py @@ -145,6 +145,8 @@ def updateCalendars(): # a = flask.session['credentials'] # print(a, flush=True) # print(current_user.getGoogleCredentials(), flush=True) + if current_user.getGoogleCredentials() == None: + return credentials = google.oauth2.credentials.Credentials(**current_user.getGoogleCredentials()) calendars = caltojson.getCalendarList(credentials) diff --git a/server/routes.py b/server/routes.py index c94f8ec..7d0ff4c 100644 --- a/server/routes.py +++ b/server/routes.py @@ -6,7 +6,7 @@ import sqlite3 # Third-party libraries import flask from flask import render_template, flash -from flask import Flask, redirect, request, url_for +from flask import Flask, redirect, request, url_for, jsonify from flask_login import ( LoginManager, current_user, @@ -18,6 +18,7 @@ import requests import server.googleHandler as google +from backend.Routine import Routine from server import login_manager, app, db from server.forms import LoginForm, RegistrationForm, DeviceForm from server.models import User, Calendar, Device @@ -116,6 +117,9 @@ def deleteAccount(): @app.route("/login/google") def googlelogin(): + if current_user.is_authenticated and current_user.getGoogleCredentials() != None: + return redirect(url_for('account')) + authorization_url = google.login() return flask.redirect(authorization_url) @@ -123,6 +127,9 @@ def googlelogin(): @app.route("/login/google/callback") def callback(): session, credentials = google.verifyResponse() + + if current_user.is_authenticated and current_user.getGoogleCredentials == None: + current_user.setGoogleCredentials(credentials) userinfo = session.get('https://www.googleapis.com/userinfo/v2/me').json() # Create a user in your db with the information provided @@ -166,11 +173,25 @@ def credentials_to_dict(credentials): 'scopes': credentials.scopes} -@app.route("/userinfo//calendarevents.json") -def downloader(user): - path = "/home/calendarwatch/userinfo/" + user + "/" - print(path, flush=True) - return flask.send_from_directory(path, "calendarevents.json") +@app.route("/userinfo//calendarevents.json") +def downloader(device): + path = "/home/calendarwatch/userinfo/" + device + "/" + # return flask.send_from_directory(path, "calendarevents.json") + request_user = db.session.query(User).filter(User.id==device).first() + if request_user == None: + return jsonify(kind="unregistered") + + routine = Routine() + routine.updateCalendar(request_user) + return jsonify(request_user.getJson()) + +@app.route("/devicefingerprint.json") +def generateDeviceFingerprint(): + # Create Three Random Words + # check not in Device Database + # Save as new Device + # Send to User + return jsonify(deviceId="Carrot-Enamel-Storm") # POST diff --git a/server/static/css/.main.css.swp b/server/static/css/.main.css.swp new file mode 100644 index 0000000..63ec28d Binary files /dev/null and b/server/static/css/.main.css.swp differ diff --git a/server/static/css/main.css b/server/static/css/main.css index 0e925c3..590a2de 100644 --- a/server/static/css/main.css +++ b/server/static/css/main.css @@ -227,6 +227,10 @@ body * color: #333; } +.grey { + background-color: #ddd; +} + .sub.container .name { margin-right: 1rem; } diff --git a/server/template/calendar.html b/server/template/calendar.html index 2043fb3..b31b2e9 100644 --- a/server/template/calendar.html +++ b/server/template/calendar.html @@ -31,8 +31,12 @@ {% endfor %} +
-
Add Calendar
+ Add Calendar