mirror of https://github.com/zulip/zulip.git
mypy: Annotate api/integrations/codebase/zulip_codebase_mirror.
This commit is contained in:
parent
fb6ae449da
commit
c155b9162d
|
@ -31,6 +31,7 @@
|
|||
|
||||
from __future__ import print_function
|
||||
from __future__ import absolute_import
|
||||
from typing import Any, List, Dict, Optional
|
||||
import requests
|
||||
import logging
|
||||
import time
|
||||
|
@ -74,6 +75,7 @@ while len(json_implementations):
|
|||
continue
|
||||
|
||||
def make_api_call(path):
|
||||
# type: (str) -> Optional[List[Dict[str, Any]]]
|
||||
response = requests.get("https://api3.codebasehq.com/%s" % (path,),
|
||||
auth=(config.CODEBASE_API_USERNAME, config.CODEBASE_API_KEY),
|
||||
params={'raw': True},
|
||||
|
@ -84,7 +86,7 @@ def make_api_call(path):
|
|||
return json.loads(response.text)
|
||||
|
||||
if response.status_code >= 500:
|
||||
logging.error(response.status_code)
|
||||
logging.error(str(response.status_code))
|
||||
return None
|
||||
if response.status_code == 403:
|
||||
logging.error("Bad authorization from Codebase. Please check your credentials")
|
||||
|
@ -94,9 +96,11 @@ def make_api_call(path):
|
|||
return None
|
||||
|
||||
def make_url(path):
|
||||
# type: (str) -> str
|
||||
return "%s/%s" % (config.CODEBASE_ROOT_URL, path)
|
||||
|
||||
def handle_event(event):
|
||||
# type: (Dict[str, Any]) -> None
|
||||
event = event['event']
|
||||
event_type = event['type']
|
||||
actor_name = event['actor_name']
|
||||
|
@ -261,9 +265,11 @@ def handle_event(event):
|
|||
|
||||
# the main run loop for this mirror script
|
||||
def run_mirror():
|
||||
# type: () -> None
|
||||
# we should have the right (write) permissions on the resume file, as seen
|
||||
# in check_permissions, but it may still be empty or corrupted
|
||||
def default_since():
|
||||
# type: () -> datetime
|
||||
return datetime.utcnow() - timedelta(hours=config.CODEBASE_INITIAL_HISTORY_HOURS)
|
||||
|
||||
try:
|
||||
|
@ -272,10 +278,9 @@ def run_mirror():
|
|||
if timestamp == '':
|
||||
since = default_since()
|
||||
else:
|
||||
timestamp = int(timestamp, 10)
|
||||
since = datetime.fromtimestamp(timestamp)
|
||||
since = datetime.fromtimestamp(float(timestamp))
|
||||
except (ValueError, IOError) as e:
|
||||
logging.warn("Could not open resume file: %s" % (e.message or e.strerror,))
|
||||
logging.warn("Could not open resume file: %s" % (str(e)))
|
||||
since = default_since()
|
||||
|
||||
try:
|
||||
|
@ -302,23 +307,24 @@ def run_mirror():
|
|||
|
||||
# void function that checks the permissions of the files this script needs.
|
||||
def check_permissions():
|
||||
# type: () -> None
|
||||
# check that the log file can be written
|
||||
if config.LOG_FILE:
|
||||
try:
|
||||
open(config.LOG_FILE, "w")
|
||||
except IOError as e:
|
||||
sys.stderr("Could not open up log for writing:")
|
||||
sys.stderr(e)
|
||||
sys.stderr.write("Could not open up log for writing:")
|
||||
sys.stderr.write(str(e))
|
||||
# check that the resume file can be written (this creates if it doesn't exist)
|
||||
try:
|
||||
open(config.RESUME_FILE, "a+")
|
||||
except IOError as e:
|
||||
sys.stderr("Could not open up the file %s for reading and writing" % (config.RESUME_FILE,))
|
||||
sys.stderr(e)
|
||||
sys.stderr.write("Could not open up the file %s for reading and writing" % (config.RESUME_FILE,))
|
||||
sys.stderr.write(str(e))
|
||||
|
||||
if __name__ == "__main__":
|
||||
if not isinstance(config.RESUME_FILE, six.string_types):
|
||||
sys.stderr("RESUME_FILE path not given; refusing to continue")
|
||||
sys.stderr.write("RESUME_FILE path not given; refusing to continue")
|
||||
check_permissions()
|
||||
if config.LOG_FILE:
|
||||
logging.basicConfig(filename=config.LOG_FILE, level=logging.WARNING)
|
||||
|
|
|
@ -25,7 +25,6 @@ api/integrations/perforce/zulip_perforce_config.py
|
|||
api/integrations/svn/zulip_svn_config.py
|
||||
api/integrations/trac/zulip_trac_config.py
|
||||
api/integrations/asana/zulip_asana_mirror
|
||||
api/integrations/codebase/zulip_codebase_mirror
|
||||
api/integrations/git/post-receive
|
||||
api/integrations/rss/rss-bot
|
||||
tools/deprecated/iframe-bot/show-last-messages
|
||||
|
@ -37,7 +36,7 @@ zproject/test_settings.py
|
|||
# We don't run mypy on contrib_bots, since the code there will
|
||||
# often be shared with other projects that do not want a mypy
|
||||
# dependency (at least while it's still kind of beta).
|
||||
exclude_common += ['contrib_bots']
|
||||
exclude_common += ['contrib_bots']
|
||||
|
||||
exclude_py2 = [] # type: List[str]
|
||||
|
||||
|
|
Loading…
Reference in New Issue