canopy
Repository
git clone https://lahacker.net/code/canopy.git
Files
Releases
No releases.
System
dirty
M canopy/__web__/__init__.py
M canopy/__web__/content.py
M canopy/__web__/static/scripts/enliven.js
D canopy/__web__/static/scripts/openpgp-4.1.2.js
D canopy/__web__/static/scripts/openpgp-worker-4.1.2.js
M canopy/__web__/system.py
M canopy/__web__/templates/__init__.py
D canopy/__web__/templates/file.html
D canopy/__web__/templates/files.html
M canopy/__web__/templates/home.html
M canopy/__web__/templates/search/results.html
M canopy/__web__/templates/system/cache/resource.html
M canopy/__web__/templates/system/devices/device.html
M canopy/__web__/templates/system/devices/index.html
M canopy/__web__/templates/system/jobs/job.html
M canopy/__web__/templates/system/security/index.html
M canopy/__web__/templates/template.html
M canopy/__web__/util.py
M canopy/cache.py
M canopy/security.py
M canopy/types/__init__.py
M canopy/types/code/templates/index.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/util/__init__.py
D canopy_torrents.py
M gaea.py
M setup.py
?? canopy/__web__/media.py
?? canopy/__web__/static/scripts/openpgp.min.js
?? canopy/__web__/static/scripts/openpgp.worker.min.js
?? canopy/__web__/templates/api.html
?? canopy/__web__/templates/media/
?? canopy/__web__/templates/search/functions/duckduckgo.html
?? canopy/__web__/templates/search/functions/hacker_news.html
?? canopy/__web__/templates/search/functions/the_pirate_bay.html
?? canopy/__web__/templates/system/devices/display.html
?? canopy/__web__/templates/system/devices/file.html
?? canopy/__web__/templates/system/devices/storage.html
?? canopy/__web__/templates/system/jobs/schedules.html
?? canopy/__web__/templates/system/security/keys.html
?? canopy/__web__/templates/weather.html
?? canopy/types/video/
?? canopy/util/content.py
?? kaleidoscope.py
?? sh.py
?? tests/
Local
Commits
Use `me` identity's face photo in site template
created 2 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
-
- canopy — canopy.__main__:main
- canopy-bot — canopy_bot:main
API
canopy
— a decentralized social web platformcanopy_bot
— canopy job queuegaea
— manage the devices 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.