AG

Angelo Gladding
lahacker.net

dlv5vbq7lzlthol5 4b942a3185b37d00

angelo@lahacker.net

South Pasadena, California, United States currently feels like 56°F

Home Code

canopy

Repository

git clone https://lahacker.net/code/canopy.git

Files

Releases

No releases.

System

dirty

M canopy/__init__.py
M canopy/__web__/__init__.py
M canopy/__web__/content.py
M canopy/__web__/static/scripts/enliven.js
M canopy/__web__/static/stylesheets/color.css
M canopy/__web__/static/stylesheets/layout.css
M canopy/__web__/system.py
M canopy/__web__/templates/__init__.py
M canopy/__web__/templates/editor/draft_template.html
M canopy/__web__/templates/editor/index.html
M canopy/__web__/templates/entry_template.html
D canopy/__web__/templates/hosting/domains.html
D canopy/__web__/templates/hosting/identities.html
D canopy/__web__/templates/hosting/machine.html
D canopy/__web__/templates/hosting/machines.html
M canopy/__web__/templates/reply.html
M canopy/__web__/templates/repost.html
M canopy/__web__/templates/resource.html
M canopy/__web__/templates/search/results.html
M canopy/__web__/templates/sitemap/human.html
M canopy/__web__/templates/sitemap/machine.xml
M canopy/__web__/templates/system/data/key_value/index.html
M canopy/__web__/templates/system/devices.html
M canopy/__web__/templates/template.html
M canopy/__web__/templates/type.html
M canopy/__web__/templates/version.html
M canopy/__web__/templates/versions.html
M canopy/__web__/templates/viewer/channel.html
M canopy/__web__/templates/webaction.html
M canopy/__web__/util.py
M canopy/cache.py
M canopy/content/read.py
M canopy/content/util.py
M canopy/content/write.py
M canopy/security.py
M canopy/templates/config/nginx_host_body_spec.conf
M canopy/types/code/__init__.py
M canopy/types/code/__web__.py
M canopy/types/code/templates/index.html
M canopy/types/code/templates/tests.html
M canopy/types/code/templates/type.html
M canopy/types/follows/__init__.py
M canopy/types/follows/templates/type.html
M canopy/types/identities/__init__.py
M canopy/types/identities/__web__.py
M canopy/types/identities/templates/editor.html
M canopy/types/identities/templates/index.html
M canopy/types/identities/templates/keys.html
M canopy/types/identities/templates/type.html
M canopy/types/images/__init__.py
M canopy/types/images/__web__.py
M canopy/types/images/templates/editor.html
M canopy/types/images/templates/index.html
M canopy/types/images/templates/type.html
M canopy/types/likes/templates/editor.html
M canopy/types/likes/templates/index.html
M canopy/types/likes/templates/type.html
M canopy/types/notes/__init__.py
M canopy/types/notes/__web__.py
M canopy/types/notes/templates/editor.html
M canopy/types/notes/templates/index.html
M canopy/types/notes/templates/quick_editor.html
M canopy/types/notes/templates/type.html
M canopy/types/resources.py
M canopy/util/__init__.py
M canopy/util/face_recog.py
M canopy/util/readability.py
M canopy/webmention.py
M canopy_bot.py
M setup.py
M tests.py
?? canopy/__web__/static/scripts/sha256.js
?? canopy/__web__/templates/file.html
?? canopy/__web__/templates/files.html
?? canopy/__web__/templates/help.html
?? canopy/__web__/templates/location.html
?? canopy/__web__/templates/songs.html
?? canopy/__web__/templates/system/domains.html
?? canopy/__web__/templates/system/identities.html
?? canopy/__web__/templates/system/machine.html
?? canopy/__web__/templates/system/machines.html
?? canopy/__web__/templates/system/session.html
?? canopy/__web__/templates/system/sessions.html
?? canopy/types/code/templates/test_results.html
?? canopy_torrents.py
?? tests/

Local

Commits

many things
created 5 months ago by Angelo Gladding

License: Affero General Public License

gevent, html2text, nltk, numpy, opencv-contrib-python, opencv-python, phe, phonenumbers, pillow, qrcode, scrypt, sopel, stripe, tweepy, twilio, vobject, web

Entry Points

term.apps

API

  • canopy — a decentralized social web platform
  • canopy_bot — canopy job queue
  • gaea — manage the machines that power the Canopy

Quality

Tests

tests:test_setup

Line 107, 65.52615189552307

success

tests:test_home

Line 112, 3.011141538619995

success

tests:test_identification

Line 130, 23.32591986656189

failure

selenium.common.exceptions.TimeoutException: Message:

alice = <web.Browser object at 0x7f15000c5630>
bob = <web.Browser object at 0x7f15000bfa58>
carol = <web.Browser object at 0x7f15000bfd68>
dan = <web.Browser object at 0x7f15000c55f8>

    def test_identification(alice, bob, carol, dan):
        """"""
        # TODO submit form over AJAX and use loading invisibility
        passphrase_inputs = []
        for character in (alice, bob, carol, dan):
            character.go(character.hostname, "identification")
            character.wait(EC.url_to_be(f"https://{character.hostname}"
                                        f"/authentication"),
                           EC.presence_of_element_located((By.ID, "authenticate")))
            # assert "" in alice.title
            passphrase_input = character.cssel("input[name=passphrase]")
            passphrase_input.send_keys(f"{character.name.lower()}pass")
            passphrase_inputs.append(passphrase_input)
        shot("Passphrase Entered",
             "Alice signs in with her passphrase.",
             "Alice", "Bob", "Carol", "Dan")
        for passphrase_input in passphrase_inputs:
            passphrase_input.submit()
        for character in (alice, bob, carol, dan):
>           character.wait(EC.presence_of_element_located((By.ID, "signout")))

../understory/src/canopy/tests.py:150: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../understory/src/web/web/__init__.py:1192: in wait
    wait.until(condition)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <selenium.webdriver.support.wait.WebDriverWait (session="376eb3a9-164b-4aa1-8fb4-f87b2e5d27de")>
method = <selenium.webdriver.support.expected_conditions.presence_of_element_located object at 0x7f15000834e0>
message = ''

    def until(self, method, message=''):
        """Calls the method provided with the driver as an argument until the \
        return value is not False."""
        screen = None
        stacktrace = None
    
        end_time = time.time() + self._timeout
        while True:
            try:
                value = method(self._driver)
                if value:
                    return value
            except self._ignored_exceptions as exc:
                screen = getattr(exc, 'screen', None)
                stacktrace = getattr(exc, 'stacktrace', None)
            time.sleep(self._poll)
            if time.time() > end_time:
                break
>       raise TimeoutException(message, screen, stacktrace)
E       selenium.common.exceptions.TimeoutException: Message:

../understory/lib/python3.7/site-packages/selenium/webdriver/support/wait.py:80: TimeoutException

tests:test_create_note

Line 156, 52.38962244987488

success

5 tests ran in 144 seconds. Some tests are failing.