dc-law's People
dc-law's Issues
Analyze History strings
This is a big issue. You will likely need to be good at regex to complete this.
We need to figure out the different bits of data that are in a History string, how they are coded, and how we are going to pull it apart.
History string example:
(Mar. 3, 1979, D.C. Law 2-139, § 1206, as added Sept. 11, 1990, D.C. Law 8-155, § 2, 37 DCR 4159; June 10, 1998, D.C. Law 12-124, § 101(o)(5), 45 DCR 2464.)
What I know about history strings so far:
- Each entry is separated by a semicolon
- Entries are in chronological order; oldest first
- There can be more than one citation for the same statute
- Known citation types:
- DC law number:
D.C. Law 12-124
- DC Register:
45 DCR 2464
- DC act number:
D.C. Act 19-298
- Federal Statutes at large:
120 Stat. 2039
- Federal Public law:
Pub. L. 109-356
- DC law number:
- Unknown citation types:
R.S., D.C., § 1
- The first entry is the organic statute that created the law.
- If the section was created by amending the organic statute, then the history line will say something like:
Mar. 10, 1981, D.C. Law 3-171, § 11, as added Mar. 16, 2005, D.C. Law 15-226, § 102, 51 DCR 10539.
In this case, the organic statute is 3-171, but the section was actually added when 15-226 amended 3-171. - There is a 1:1 relationship between a section of a statute and a section in the code. The section in the history entry is the section in the code that created/modified this section. (this understanding could be incomplete).
There is basically a bunch of programmatic exploration that needs to get done. Grab the text from all the History s, split by semicolon, and probably start writing regular expressions to match history entries. Try to get to the point where you've found all the different ways of saying things, then start figuring out what those things are that are being said. Normalize and start extracting the info.
The workproduct for this issue should be an (informal) xml schema to describe all history entries.
Fix formatting of readme.md file
The checkboxes in the readme.md file don't render correctly; they need to be in a list format:
Do this:
* [x] TODO 1
* [ ] TODO 2
not this:
[x] TODO 1
[ ] TODO 2
This renders as:
Do this:
- TODO 1
- TODO 2
not this:
[x] TODO 1
[ ] TODO 2
parse history lines; create statute stubs
blocked by #2.
Each section has a history line. We need to pull the dc statute cites from the history line and generate a stub statute node for each statute that has modified the code.
This should be done in the make_statutes
script that I've already stubbed out: https://github.com/DCCouncil/dc-law-tools/blob/master/process_xml_jobs/annotation_transforms/make_statutes.py
See the make_statutes docstring for more info on the structure of the stub annotation node.
Documentation suggestion: Explain pull request approval process for substantive changes to DC Code
I found this project from an article on DCist. Great stuff!
The article refers to a pull request that was approved by "a lawyer for the D.C. Council," but it doesn't say anything about the D.C. Council's review process for such changes. Since this process literally lets citizens amend laws, a section on the README.md to explain the steps involved would be a great addition.
create place to put statute information
Our first priority is to normalize all the data contained in the code annotations. Much of that data concerns the statutes that modify the code over time. So rather than keeping information about the statutes sprinkled throughout all the code that the statutes modify, we want to keep it one place, with all the other statutes.
So we need to modify the dom in place so that the the top-level element is now a node, and the original top-level element, the node and all its contents are now under the node. Then we can create a node under the node where the statute metadata can be stored.
I've the stub of a script to do this: https://github.com/DCCouncil/dc-law-tools/blob/master/process_xml_jobs/annotation_transforms/make_statutes.py. Your job, should you choose to accept it, is to make the make_statutes
function modify the dom in-place as described above and in the doc-string.
Clean up xml
Please work of the development
branch!
Convert to HTML Tables:
- https://github.com/DCCouncil/dc-law-xml/blob/development/dc/council/code/titles/5/sections/5-542.01.xml
- https://github.com/DCCouncil/dc-law-xml/blob/development/dc/council/code/titles/47/sections/47-2713.xml
- https://github.com/DCCouncil/dc-law-xml/blob/development/dc/council/code/titles/42/sections/42-3402.11.xml
- https://github.com/DCCouncil/dc-law-xml/blob/development/dc/council/code/titles/1/sections/1-609.54.xml
Clean up XML:
This xml is pretty out of order. Will have to look at the old Code to figure out what it was supposed to look like at http://www.lexisnexis.com/hottopics/dccode/:
- https://github.com/DCCouncil/dc-law-xml/blob/development/dc/council/code/titles/21/sections/21-309.xml
- https://github.com/DCCouncil/dc-law-xml/blob/development/dc/council/code/titles/2/sections/2-1506.xml
- https://github.com/DCCouncil/dc-law-xml/blob/development/dc/council/code/titles/11/sections/11-1569.xml
Contributors: please CC0 license all your contributions here
All the dc-law-* repositories are licensed under CC0. Because CC0 is not "viral", all contributors need to explicitly license their contributions under the CC0 license. You can do that once by copying the following text into a comment to this issue:
I, <name>, license all contributions I make to repositories belonging to the DCCouncil organization under the CC0 License.
Or you can copy the following text and include it in each PR you make to a DCCouncil repository:
I, <name>, license this pull request under the CC0 license.
convert jpg to html tables
move legislative history
blocked by #3
Issue #3 created a statute node for each of the statutes that has modified the code. Now we need to go through, find all the legislative history nodes, figure out which statute each describes, and move it to the appropriate statute stub.
I've created a stub script here: https://github.com/DCCouncil/dc-law-tools/blob/master/process_xml_jobs/annotation_transforms/move_leghistory.py. It has more info in the docstring about how to format the nodes.
Ensure DCSTAT in all relevant cites
Lexis has made the error where they use STAT in a cite to the dc statutes at large. It should, instead, be DCSTAT. We need to do a find/replace to replace all wrong cites.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.