profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/martinburchell/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Martin Burchell martinburchell University of Cambridge, Aptivate Cambridge, UK

martinburchell/crisiscamp_reliefweb 6

API for accessing Reliefweb data and sample applications

martinburchell/cambridge_bins 5

Notification of bin collections in Cambridge, UK

martinburchell/crossword_collective 2

Collaborate on Guardian Crosswords using Google Documents

adieyal/sarpaminfohub 1

An information portal to improve the transparency and availability of information relating to access to medicines in Southern Africa

aptivate/ckanext-hdx_theme 0

Fork of HDX CKAN theme

mapaction/ckanext-mapactionschemas 0

CKAN schemas for MapAction's MDR (using https://github.com/ckan/ckanext-scheming)

martinburchell/bashrc 0

Bash startup script

martinburchell/beat-the-bull 0

A silly BASIC game I wrote in 1986 for the BBC Micro

pull request commentRudolfCardinal/camcops

Option to use MySQL for testing

Looks good. The only things that occur to me are:

  1. Whether database/username/password is the simplest, e.g. (a) would one also want to vary hostname?; (b) would an SQLAlchemy URL (as for the config file) be simpler -- but the URL wouldn't be constrained in principle to MySQL.
  2. In the self-tests, is the simplest comparison for the percentages something like int(float(x)) == 5, rather than x == "55.000" if mysql else "55"? I imagine the 3-decimal-place thing is somewhat driver-dependent.
martinburchell

comment created time in 4 days

push eventRudolfCardinal/camcops

Rudolf Cardinal

commit sha ceeadc352e50208f78e9dcb3ab3bf27099e2e08d

In search of PyCharm's lint happiness

view details

push time in 7 days

PR opened RudolfCardinal/camcops

Have Mako templates escape content by default

(1) Have Mako templates escape content by default. Also (2) update some docstring http links to https, to stop PyCharm moaning, and (3) update MoCA info in its HTML (already in the help).

+3400 -3005

0 comment

1976 changed files

pr created time in 7 days

create barnchRudolfCardinal/camcops

branch : mako_default_filter

created branch time in 7 days

push eventRudolfCardinal/camcops

Rudolf Cardinal

commit sha e9e7dc0952943cd03ec3b98fb21bbc88bb73f35e

Roll out Android client v2.4.6 to Google Play Store

view details

push time in 7 days

issue commentaptivate/kashana

Installing Kashana

Hi,I appreciate very much you have dedicated a few times to address my issue. I din't have the possibility to reach this final issue on my ubuntu vps server 18.04. In fact, I was always stopped just at the begining of the "./bootstrap.py" build process as you can see in the attached screen shot:

But I remember to have been blocked on the "drf-nested-routers==0.90.2" issue when I tried on a free pythonanywhere account.  At this time, it said: the "drf-nested-routers==0.90.2" package required python 2.7.12... Please help me Identified what is wrong in my server environment that prevents me from successfuly deploy the app in order to play with it. Best,

François Déner, Doctorant en Ingénierie et Management de Projets, programmes et Portefolios-Monitoring, Risques, Prévention et QualitéUniversidad Internacional IberoAmericana de Puerto-Ricohttps://www.unini.org/

Master en Management de l'Aide et de la Coopération InternationaleMaster en Base de Données et Intégration de Système, Université Nice Sophia Antipolis, France Master en Méthodes d'Informatique Appliquées à la Gestion des Entreprises, Université Jules Verne Picardie, France @***. @***. (509) 48877224 | 39259706

Le mercredi 5 mai 2021, 18:56:27 UTC−4, Martin Burchell ***@***.***> a écrit :  

@frendy13 It's working for me on Ubuntu 18.04 as far as running deploy/bootstrap.py.

I found I had to pin

drf-nested-routers==0.90.2

in deploy/pip_packages.txt

Do you get the same error when running the command as a regular user instead of root?

Note that Kashana isn't under active development at the moment. The software it is based on is out of date and unfortunately we haven't had the funding to maintain it.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or unsubscribe.

granitzh

comment created time in 9 days

push eventRudolfCardinal/camcops

Rudolf Cardinal

commit sha b18773152e8199b8227ab69dd5257df31d03b2b7

Translations

view details

push time in 11 days

PR opened RudolfCardinal/camcops

Fixes for penetration testing (per report of 28 Apr 2021)

Fixes for penetration testing (per report of 28 Apr 2021)

+204586 -1565

0 comment

138 changed files

pr created time in 11 days

create barnchRudolfCardinal/camcops

branch : pentest1

created branch time in 11 days

issue commentRudolfCardinal/camcops

Put a signposting page at /api

Yes, good idea!

martinburchell

comment created time in 12 days

issue openedRudolfCardinal/camcops

Deform form library doesn't support Content-Security-Policy (CSP) nonce attribute

Some aspects of Deform forms/widgets are blocked by a stringent Content-Security-Policy setting, as they don't support the nonce attribute for inline <script> and <style> tags. This is with Deform version 2.0.15. See https://github.com/Pylons/deform/issues/512.

created time in 12 days

issue commentaptivate/kashana

Installing Kashana

Hi Everyone, I really need a useful steps to help me go over Kashana deployement on ubuntu 18.04 VPS server. In fact I follow the instructions of : https://github.com/aptivate/kashana#installation but I always get this broken message:

root@spotless-hearing:/home/admin/web/kashan/kashana/deploy# ./bootstrap.py Traceback (most recent call last): File "./bootstrap.py", line 83, in <module> sys.exit(main(sys.argv)) File "./bootstrap.py", line 80, in main return updater.update_ve(full_rebuild, force_update) File "/home/admin/web/kashan/kashana/deploy/ve_mgr.py", line 167, in update_ve virtualenv.logger = virtualenv.Logger(consumers=[]) AttributeError: 'module' object has no attribute 'Logger' root@spotless-hearing:/home/admin/web/kashan/kashana/deploy#

thanks in advance for your precious help.

granitzh

comment created time in 12 days

issue openedRudolfCardinal/camcops

Deform form library uses old version of jQuery

As of 2021-05-02, the latest version of Deform is 2.0.15 ((https://docs.pylonsproject.org/projects/deform/; https://pypi.org/project/deform/). This uses jQuery 2.0.3, which is old and has some vulnerabilities.

Raised as a Deform issue at https://github.com/Pylons/deform/issues/511.

created time in 13 days

issue closedaptivate/django-sortable-listview

Sorting over computed fiels

I would like be able to run sorting over model methods, annotated with

@property

Unfortunately, currently it seems that it is not supported.

closed time in 18 days

kornicameister

issue commentRudolfCardinal/camcops

New group member permission to add patients

I agree -- in that it would clearly be useful for research study members to be able to add patients (with checks that they are not adding duplicates), but not everybody would need or should have such an authorization. I'd envisage it being part of the user-group association as with most. The functional permission would be "this flag set or group administrator or superuser". It would be less clear to merge it with the "can upload?" flag. I'm not sure that permission to edit schedules is the same thing, though -- did you envisage group administrators being the only ones to edit schedules?

martinburchell

comment created time in 19 days

issue commentRudolfCardinal/camcops

New group member permission to add patients

Yes. Do you think this merits a specific permission flag?

martinburchell

comment created time in 20 days

push eventRudolfCardinal/camcops

Rudolf Cardinal

commit sha 5bd016e237cd763bbc250c1ddf5f1a0bf069a0a9

Bump pygments from 2.6.1 to 2.7.4 for CVE-2021-20270

view details

push time in 23 days

pull request commentRudolfCardinal/camcops

Replace our test runner with pytest

Ah, no, sorry, just me being dim (switching to master but failing to re-pull from Github). All sorted!

martinburchell

comment created time in a month

pull request commentRudolfCardinal/camcops

UUID export fix

Except Github won't let me because Travis is complaining (about environment variables?).

martinburchell

comment created time in a month

pull request commentRudolfCardinal/camcops

UUID export fix

New version of cardinal_pythonlib now pushed to PyPI (version 1.1.4). I've merged the pytest branch; I'll merge this now. Thank you!

martinburchell

comment created time in a month

pull request commentRudolfCardinal/camcops

Replace our test runner with pytest

After switching back to master I have a leftover "camcops_test.sqlite". Should this be in the repository, or the .gitignore file? (I'm guessing the latter?)

martinburchell

comment created time in a month

delete branch RudolfCardinal/camcops

delete branch : pytest-dev

delete time in a month

push eventRudolfCardinal/camcops

Martin Burchell

commit sha 7e8073946aeed0034a0c09949cc537b85b8dff55

pytest: Add library

view details

Martin Burchell

commit sha 08c0eef9a85eb9b19305cd0ad67aaa0f26d8bc2e

pytest: configuration

view details

Martin Burchell

commit sha bac5805fd87589fd1ab8864b8f2e86370f3d9e2e

pytest: only create database once per session

view details

Martin Burchell

commit sha a607add2aebd811edf932383fcf3b1adfbbcbee2

Fix unresolvable cycles warning Device, User and Patient all have foreign keys to each other. https://github.com/RudolfCardinal/camcops/issues/145

view details

Martin Burchell

commit sha e1ba2345c0bee0f837d1dc4bf7db8b4203ad24c3

pytest: Split out REDCap tests

view details

Martin Burchell

commit sha 2db30b174b0072206b72396ee79fd84bf26f8d55

pytest: Switch TravisCI to use pytest

view details

Martin Burchell

commit sha c948f7e411502ff94629f03880973fa49eabfe70

pytest: Separate webview tests

view details

Martin Burchell

commit sha 8579c7b9ba6050c7916ef2fa0a427b9098282b6c

pytest: Option to recreate database

view details

Martin Burchell

commit sha dae09ce2d4134929549a59fe96e21e3b7ede670a

pytest: Option to create database in memory

view details

Martin Burchell

commit sha 958c1aef7eb309983c5b20ab0859e9b12be6770e

pytest: Separate report tests

view details

Martin Burchell

commit sha 3f53a62cff1e11987a32d7a86d5ca1c17ed3c8f9

pytest: Separate Rapid3 tests

view details

Martin Burchell

commit sha 5c376af490b212d12377dd995b0ddcea0b2ca303

pytest: Separate Basdai tests

view details

Martin Burchell

commit sha f456a101f538ee714144290b6279dc7c2b19ff8d

pytest: Separate PerinatalPoem tests

view details

Martin Burchell

commit sha ededd7546b776bbe436fd2805790a18e01b0ee05

pytest: Separate Session tests

view details

Martin Burchell

commit sha 81f7b410bf3cffec45fb2b9f1cea705af946a499

pytest: Separate HL7 tests

view details

Martin Burchell

commit sha cab514b705aa2f3b89a88655bc5268bf5f6b6587

pytest: Separate proquint tests

view details

Martin Burchell

commit sha aeb73059f6b8d8e82b3bb98242ce0dc14a7a133c

pytest: Separate client api tests

view details

Martin Burchell

commit sha 7b77fcf2654328dc96722f738c0dcc2b9d56a415

pytest: Separate coltypes tests

view details

Martin Burchell

commit sha 96e4c45291566fc2d1ca8139bc12226fe49ce297

pytest: Separate user tests

view details

Martin Burchell

commit sha 48253c24b0fd568e7d1639e7742b5fa20c969a4e

pytest: Separate text tests

view details

push time in a month

PR merged RudolfCardinal/camcops

Reviewers
Replace our test runner with pytest

I've replaced our own test runner with pytest. This has the advantage of all the options pytest provides, such as:

  • Automatic test discovery (all files that end in _tests.py)
  • -x stop on failure
  • -k test only according to wildcard (class name, file)

In addition the test database is reused if it already exists (unless the --create-db option is used) and each test is run inside a nested DB session, which is rolled back at the end of the test. So the database will be created at most once per test run, speeding up execution time considerably.

I've preserved the option to create the test database in memory (--database-in-memory) but on my laptop with a SSD this is no faster.

pytest prefers function-based tests and its own fixture mechanism over unittest.TestCase subclasses with test_* methods and setUp() / tearDown(). It still works perfectly fine with the latter so there is no need to change that.

The entire test suite now takes 3 minutes to run, which is nearly 5 times quicker than before.

+8865 -7804

2 comments

80 changed files

martinburchell

pr closed time in a month

issue closedRudolfCardinal/camcops

Unresolvable cycles warning when creating a new alembic migration

/home/martinb/workspace/camcops/working/.server_ve/lib/python3.6/site-packages/sqlalchemy/sql/ddl.py:1217: SAWarning: Cannot correctly sort tables; there are unresolvable cycles between tables "_security_devices, _security_users, patient", which is usually caused by mutually dependent foreign key constraints.  Foreign key constraints involving these tables will not be considered; this warning may raise an error in a future release.
  % (", ".join(sorted(t.fullname for t in err.cycles)),)

closed time in a month

martinburchell

pull request commentRudolfCardinal/camcops

Replace our test runner with pytest

Nice!

martinburchell

comment created time in a month

push eventRudolfCardinal/pythonlib

Rudolf Cardinal

commit sha 7d2c83552c4a1b36d4d3d4a22f03708beb861e17

Changelog; v1.1.4

view details

push time in a month

push eventRudolfCardinal/pythonlib

Rudolf Cardinal

commit sha 79a4c5cdb65e7cb7f08c369f61f7354805081f06

Minor improvements to spreadsheets.py; convert many URLs to https:// to stop PyCharm complaining

view details

Rudolf Cardinal

commit sha 8fbbcac375fedb0dc05a0272dddbdd8c5102bedf

Further improvements to spreadsheets as part of v1.1.4

view details

Rudolf Cardinal

commit sha 3c16a0afa84b7e03109e6753eda70d3e7d5bfb90

In spreadsheets.py, fail if a float is read as an int

view details

Rudolf Cardinal

commit sha da3456c431d87ee1da9c18c47b61b2df398d7fb1

Merge master (UUID spreadsheet export, excel.py) with ongoing spreadsheet work (spreadsheets.py)

view details

push time in a month

delete branch RudolfCardinal/pythonlib

delete branch : spreadsheet-uuid-fix

delete time in a month

push eventRudolfCardinal/pythonlib

Martin Burchell

commit sha dd3f483dbd5a074b1a6a681eccf6f8a2235f3ff2

Ignore Emacs .dir-locals.el

view details

Martin Burchell

commit sha 8a5bfef313211adc72743fcdd7a8b6997eef930a

Handle UUID in convert_for_openpyxl https://github.com/RudolfCardinal/camcops/issues/157

view details

Martin Burchell

commit sha 21fc8d6785f2f76aca155f103018a0002dca9ec2

Move convert_for_pyexcel_ods3 from CamCOPS, add UUID support https://github.com/RudolfCardinal/camcops/issues/156

view details

Rudolf Cardinal

commit sha 19b75a5cc8ef0ceef0fbe820f301a2d8a8c0cf7d

Merge pull request #8 from RudolfCardinal/spreadsheet-uuid-fix Fix UUIDs prior to spreadsheet export

view details

push time in a month