Skip to content

Commit

Permalink
Merge f0ed9e5 into d386671
Browse files Browse the repository at this point in the history
  • Loading branch information
naoyak committed May 26, 2020
2 parents d386671 + f0ed9e5 commit 05bc6cc
Show file tree
Hide file tree
Showing 38 changed files with 50 additions and 127 deletions.
13 changes: 3 additions & 10 deletions .travis.yml
@@ -1,18 +1,11 @@
language: python
python:
- "2.7"
# - "3.4" # TODO: The anaconda mro_base package seems to be broken. Re-enable when fixed.
- "3.5"
- "3.6"
- "3.7"
- "3.8"

before_install:
# We do this conditionally because it saves us some downloading if the
# version is the same.
- if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then
wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh -O miniconda.sh;
else
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
fi
- wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
- bash miniconda.sh -b -p $HOME/miniconda
- export PATH="$HOME/miniconda/bin:$PATH"
- hash -r
Expand Down
15 changes: 9 additions & 6 deletions appveyor.yml
Expand Up @@ -2,13 +2,16 @@ build: false

environment:
matrix:
- PYTHON: "C:\\Python27"
PYTHON_VERSION: "2.7.8"
PYTHON_ARCH: "32"
MINICONDA: C:\Miniconda

- PYTHON: "C:\\Python36-x64"
PYTHON_VERSION: "3.6.6"
PYTHON_VERSION: "3.6.10"
PYTHON_ARCH: "64"
MINICONDA: C:\Miniconda3
- PYTHON: "C:\\Python37-x64"
PYTHON_VERSION: "3.7.7"
PYTHON_ARCH: "64"
MINICONDA: C:\Miniconda3
- PYTHON: "C:\\Python38-x64"
PYTHON_VERSION: "3.8.3"
PYTHON_ARCH: "64"
MINICONDA: C:\Miniconda3

Expand Down
2 changes: 0 additions & 2 deletions docs/requirements.txt
@@ -1,5 +1,3 @@
future
enum34
pyyaml
markdown
pygments
Expand Down
2 changes: 0 additions & 2 deletions knowledge_repo/_version.py
Expand Up @@ -18,8 +18,6 @@
# should be defined elsewhere.
__dependencies__ = [
# Knowledge Repository Dependencies
'future', # Python 2/3 support
'enum34', # Python 3.4+ enum object used for Post status
'pyyaml', # Yaml parser and utilities
'markdown', # Markdown conversion utilities
'pygments', # Code highlighting support in markdown
Expand Down
2 changes: 0 additions & 2 deletions knowledge_repo/app/__init__.py
@@ -1,4 +1,2 @@
from __future__ import absolute_import

from . import auth_providers
from .app import KnowledgeFlask
5 changes: 1 addition & 4 deletions knowledge_repo/app/app.py
@@ -1,5 +1,3 @@
from __future__ import absolute_import

import os
import imp
import logging
Expand All @@ -8,7 +6,6 @@
import uuid
import mimetypes

import six
from flask import Flask, current_app, render_template, request, session
from flask_login import LoginManager, user_loaded_from_request
from flask_mail import Mail
Expand Down Expand Up @@ -52,7 +49,7 @@ def __init__(self, repo, db_uri=None, debug=None, config=None, **kwargs):

# Load configuration from file or provided object
if config:
if isinstance(config, six.string_types):
if isinstance(config, str):
config = imp.load_source('knowledge_server_config', os.path.abspath(config))
self.config.from_object(config)

Expand Down
4 changes: 1 addition & 3 deletions knowledge_repo/app/auth_provider.py
@@ -1,16 +1,14 @@
from abc import abstractmethod
from builtins import object

from flask_principal import identity_changed, Identity
from flask_login import login_user
from future.utils import with_metaclass
from flask import redirect, current_app, Blueprint, url_for, session

from .utils.auth import prepare_user
from ..utils.registry import SubclassRegisteringABCMeta


class KnowledgeAuthProvider(with_metaclass(SubclassRegisteringABCMeta, object)):
class KnowledgeAuthProvider(object, metaclass=SubclassRegisteringABCMeta):
_registry_keys = None

@classmethod
Expand Down
5 changes: 2 additions & 3 deletions knowledge_repo/app/auth_providers/oauth2.py
@@ -1,9 +1,8 @@
import posixpath
import json

import six
from flask import request, redirect
from six.moves.urllib.parse import urljoin
from urllib.parse import urljoin

from ..models import User
from ..auth_provider import KnowledgeAuthProvider
Expand Down Expand Up @@ -158,7 +157,7 @@ def extract_from_dict(d, key):
key = key[0]
else:
return extract_from_dict(d[key[0]], key[1:])
if isinstance(key, six.string_types):
if isinstance(key, str):
return d[key]
raise RuntimeError("Invalid key type: {}.".format(key))

Expand Down
12 changes: 5 additions & 7 deletions knowledge_repo/app/deploy/common.py
Expand Up @@ -4,9 +4,7 @@
import sys
import textwrap
from abc import abstractmethod
from future.utils import with_metaclass

import six
import knowledge_repo
from knowledge_repo.utils.registry import SubclassRegisteringABCMeta

Expand All @@ -21,15 +19,15 @@ def get_app():
return get_app


class KnowledgeDeployer(with_metaclass(SubclassRegisteringABCMeta, object)):
class KnowledgeDeployer(object, metaclass=SubclassRegisteringABCMeta):

def __init__(self,
knowledge_builder,
host='0.0.0.0',
port=7000,
workers=4,
timeout=60):
assert isinstance(knowledge_builder, six.string_types + (types.FunctionType, )), \
assert isinstance(knowledge_builder, str + (types.FunctionType, )), \
u"Unknown builder type {}".format(type(knowledge_builder))
self.knowledge_builder = knowledge_builder
self.host = host
Expand Down Expand Up @@ -57,7 +55,7 @@ def builder_str(self):
if isinstance(self.knowledge_builder, types.FunctionType):
out = []
for nl, cell in zip(self.knowledge_builder.__code__.co_freevars, self.knowledge_builder.__closure__):
if isinstance(cell.cell_contents, six.string_types):
if isinstance(cell.cell_contents, str):
out.append(u'{} = "{}"'.format(nl, cell.cell_contents.replace('"', '\\"')))
else:
out.append(u'{} = {}'.format(nl, cell.cell_contents))
Expand All @@ -67,7 +65,7 @@ def builder_str(self):

@property
def builder_func(self):
if isinstance(self.knowledge_builder, six.string_types):
if isinstance(self.knowledge_builder, str):
knowledge_builder = 'def get_app():\n\t' + self.knowledge_builder.replace('\n', '\t') + '\n\treturn app'
namespace = {}
exec(knowledge_builder, namespace)
Expand Down Expand Up @@ -95,7 +93,7 @@ def write_temp_files(self):
out.append('import knowledge_repo')

out.append(self.builder_str)
if not isinstance(self.knowledge_builder, six.string_types):
if not isinstance(self.knowledge_builder, str):
out.append('app = %s()' % self.knowledge_builder.__name__)
out.append('app.start_indexing()')

Expand Down
2 changes: 0 additions & 2 deletions knowledge_repo/app/deploy/gunicorn.py
Expand Up @@ -5,8 +5,6 @@
Adapted from example in http://docs.gunicorn.org/en/stable/custom.html.
"""

from __future__ import absolute_import

from gunicorn.app.base import BaseApplication

from .common import KnowledgeDeployer
Expand Down
3 changes: 0 additions & 3 deletions knowledge_repo/app/index.py
@@ -1,10 +1,7 @@
from __future__ import absolute_import

import logging
import multiprocessing
import os
import time
from builtins import str

from .proxies import db_session, current_repo, current_app
from .models import ErrorLog, Post, IndexMetadata
Expand Down
1 change: 0 additions & 1 deletion knowledge_repo/app/migrations/env.py
@@ -1,4 +1,3 @@
from __future__ import with_statement
from alembic import context
from sqlalchemy import engine_from_config, pool
from logging.config import fileConfig
Expand Down
4 changes: 1 addition & 3 deletions knowledge_repo/app/models.py
Expand Up @@ -3,8 +3,6 @@
import datetime
import logging
import traceback
from builtins import str
from future.utils import raise_with_traceback
from flask import current_app, request
from flask_login import UserMixin
from flask_sqlalchemy import SQLAlchemy
Expand Down Expand Up @@ -138,7 +136,7 @@ def wrapped(*args, **kwargs):
db_session.rollback()
db_session.add(ErrorLog.from_exception(e))
db_session.commit()
raise_with_traceback(e)
raise e.with_traceback()
return wrapped


Expand Down
1 change: 0 additions & 1 deletion knowledge_repo/app/routes/editor.py
Expand Up @@ -2,7 +2,6 @@
import logging
import sys
import os
from builtins import str
from datetime import datetime
from flask import request, render_template, Blueprint, current_app, url_for, send_from_directory, g
from sqlalchemy import or_
Expand Down
1 change: 0 additions & 1 deletion knowledge_repo/app/routes/index.py
Expand Up @@ -8,7 +8,6 @@
"""
import os
import json
from builtins import str
from collections import namedtuple
from flask import request, render_template, redirect, Blueprint, current_app, make_response
from flask_login import login_required
Expand Down
1 change: 0 additions & 1 deletion knowledge_repo/app/routes/posts.py
@@ -1,6 +1,5 @@
import logging
import os
from builtins import str
from flask import request, url_for, redirect, render_template, current_app, Blueprint, g, Response, abort

from .. import permissions
Expand Down
1 change: 0 additions & 1 deletion knowledge_repo/app/routes/tags.py
Expand Up @@ -15,7 +15,6 @@
from sqlalchemy import and_
import logging
import math
from builtins import str

from .. import permissions
from ..proxies import db_session
Expand Down
2 changes: 1 addition & 1 deletion knowledge_repo/app/utils/auth.py
@@ -1,6 +1,6 @@
import datetime

from future.moves.urllib.parse import urlparse, urlencode, urljoin
from urllib.parse import urlparse, urlencode, urljoin

from flask import request, url_for
from flask_login import AnonymousUserMixin, login_user
Expand Down
4 changes: 0 additions & 4 deletions knowledge_repo/app/utils/knowledge_metadata.py
@@ -1,7 +1,3 @@


from __future__ import absolute_import
from __future__ import unicode_literals
from markdown import Extension
from markdown.preprocessors import Preprocessor

Expand Down
1 change: 0 additions & 1 deletion knowledge_repo/app/utils/posts.py
Expand Up @@ -5,7 +5,6 @@
- get_all_post_stats
"""
import math
from builtins import str
from flask import current_app
from sqlalchemy import func, distinct, or_

Expand Down
6 changes: 2 additions & 4 deletions knowledge_repo/config.py
Expand Up @@ -6,8 +6,6 @@
import types
import yaml

import six

logger = logging.getLogger(__name__)


Expand Down Expand Up @@ -45,7 +43,7 @@ def update(self, *values, **kwargs):
dict.update(self, value)
elif isinstance(value, types.ModuleType):
self.__update_from_module(value)
elif isinstance(value, six.string_types):
elif isinstance(value, str):
if os.path.exists(value):
self.__update_from_file(value)
else:
Expand All @@ -63,7 +61,7 @@ def update_defaults(self, *values, **kwargs):
self.DEFAULT_CONFIGURATION.update(value)
elif isinstance(value, types.ModuleType):
self.__defaults_from_module(value)
elif isinstance(value, six.string_types):
elif isinstance(value, str):
if os.path.exists(value):
self.__defaults_from_file(value)
else:
Expand Down
4 changes: 1 addition & 3 deletions knowledge_repo/converter.py
@@ -1,12 +1,10 @@
from builtins import object

import os
from functools import wraps

from .postprocessor import KnowledgePostProcessor
from .utils.registry import SubclassRegisteringABCMeta
from .utils.dependencies import check_dependencies
from future.utils import with_metaclass


def get_format(filename, format=None):
Expand All @@ -24,7 +22,7 @@ def get_format(filename, format=None):
return format


class KnowledgePostConverter(with_metaclass(SubclassRegisteringABCMeta, object)):
class KnowledgePostConverter(object, metaclass=SubclassRegisteringABCMeta):
_registry_keys = None # File extensions

def __init__(self, kp, format=None, postprocessors=None, interactive=False, **kwargs):
Expand Down
2 changes: 0 additions & 2 deletions knowledge_repo/converters/gdoc.py
@@ -1,5 +1,3 @@
from __future__ import print_function

import cooked_input as ci
import logging
import os
Expand Down
2 changes: 0 additions & 2 deletions knowledge_repo/converters/html.py
@@ -1,5 +1,3 @@
from __future__ import absolute_import
from __future__ import unicode_literals
import markdown
from markdown import Extension
from markdown.blockprocessors import BlockProcessor
Expand Down
1 change: 0 additions & 1 deletion knowledge_repo/mapping.py
@@ -1,4 +1,3 @@
from builtins import object
import re


Expand Down

0 comments on commit 05bc6cc

Please sign in to comment.