Needlessly Promiscuous, Modularize!

    node-retsinfo

    0.0.0 • Public • Published

    node-retsinfo

    A Node package to scrape legal documents from retsinformation.dk

    Note: There are some document types that are not yet supported, and will simply crash the program. Pull requests are welcome.

    Installation

    npm install retsinfo
    

    Usage

    var Fetcher = require('retsinfo').Fetcher;
    var fetcher = new Fetcher();
     
    // Get a list of ministries
    fetcher.listMinistries(function(err, ministries) {
      if ( err ) return console.error( err );
     
      // Each element of ministries is an object with the properties id and name
      console.log(ministries);
     
      // '7' is Forsvarsministeriet: { id: '7', name: 'Forsvarsministeriet' }
      var ministry = ministries['7'];
     
      // Retrieve further information about a ministry
      fetcher.getMinistryInfo(ministry.id, function(err, info) {
        if ( err ) return console.error( err );
     
        // info is an object with properties id, name, and documentTypes.
        // documentTypes is an object where keys are document type IDs,
        // and values are objects with properties id, name and count
        console.log();
        console.log(info);
     
        // '1': { id: 1, name: 'Love/Lovbekendtgørelser', count: 25 }
        var documentType = info.documentTypes['1'];
     
        // Retrieve a list of documents with the given type from the given ministry
        fetcher.listMinistryDocuments(ministry.id, documentType.id, function(err, documents) {
          if ( err ) return console.error( err );
     
          // Each element in documents is an object with id, name and date
          // {
          //   id: 176852,
          //   name: 'Bekendtgørelse af lov om Forsvarets Efterretningstjeneste (FE)',
          //   date: Thu Feb 04 2016 01:00:00 GMT+0100 (CET)
          // }
          console.log();
          console.log(documents);
     
     
          fetcher.getDocument(164746, function(err, document) {
            if (err) return console.error(err);
     
            console.log();
            console.log(document);
          })
        });
      })
    });

    The getDocument(164746, callback) function returns a JavaScript object like the following:

    { title: 'Bekendtgørelse af lov om forældelse af fordringer (forældelsesloven)',
      preamble: 'Herved bekendtgøres lov om forældelse af fordringer (forældelsesloven), jf. lovbekendtgørelse nr. 1063 af 28. august 2013, med de ændringer, der følger af lov nr. 1622 af 26. december 2013 og § 5 i lov nr. 1500 af 23. december 2014.',
      signer: 'Søren Pind',
      extraSigners: [ 'Mette Johansen' ],
      ministryName: 'Justitsministeriet',
      date: Mon Nov 09 2015 01:00:00 GMT+0100 (CET),
      chapters:
       [ { id: 'id74dcab74-f6b1-4417-8ce2-61e75d172b62',
           no: '1',
           title: 'Lovens område',
           sections: [Object] },
         { id: 'id53a1a7d2-ce45-4d6d-bf1f-cb2ef077c6b4',
           no: '2',
           title: 'Forældelsesfristernes begyndelsestidspunkt',
           sections: [Object] },
         { id: 'ida60e69ec-3084-4cb3-b3ee-8845b15dc5af',
           no: '3',
           title: 'De almindelige forældelsesfrister',
           sections: [Object] },
         { id: 'id0d7b77b8-e08a-41e7-8bed-35fe10724699',
           no: '4',
           title: 'Særlige forældelsesfrister og tillægsfrister',
           sections: [Object] },
         { id: 'idbe59b667-7c5f-41e5-8397-9524e675870f',
           no: '5',
           title: 'Afbrydelse af forældelse',
           sections: [Object] },
         { id: 'id09069f38-9f90-444a-9f23-6a3d55df5792',
           no: '6',
           title: 'Foreløbig afbrydelse af forældelse',
           sections: [Object] },
         { id: 'id3fd36dde-ebaf-4836-bbd2-9d74ea5d34db',
           no: '7',
           title: 'Virkningerne af forældelse',
           sections: [Object] },
         { id: 'id2e6f136f-b6a8-436b-950d-486278d93862',
           no: '8',
           title: 'Lovens fravigelighed m.v.',
           sections: [Object] },
         { id: 'idf3849790-1106-4ee2-87ae-718ec7e4083e',
           no: '9',
           title: 'Ikrafttræden m.v.',
           sections: [Object] } ],
      commencements:
       [ { text: 'Lov nr. 1336 af 19. december 2008 (Konsekvensændringer som følge af lov om inddrivelse af gæld til det offentlige) indeholder følgende ikrafttrædelses- og overgangsbestemmelse:',
           sections: [Object] },
         { text: 'Lov nr. 718 af 25. juni 2010 (Rekonstruktion m.v.) indeholder følgende ikrafttrædelses- og overgangsbestemmelse:',
           sections: [Object] },
         { text: 'Lov nr. 421 af 10. maj 2011 (Forældelse af fordringer på erstatning eller godtgørelse i anledning af en erhvervssygdom) indeholder følgende ikrafttrædelses- og overgangsbestemmelse:',
           sections: [Object] },
         { text: 'Lov nr. 1622 af 26. december 2013 (Forældelse af udestående selskabsindskud) indeholder følgende ikrafttrædelses- og overgangsbestemmelse:',
           sections: [Object] },
         { text: 'Lov nr. 1500 af 23. december 2014 (Hurtig afslutning i visse klagesager, omkostningsgodtgørelse i retssager, dækningsrækkefølgen for underholdsbidrag, restanceforebyggelse, momsregistrering af visse virksomheder, forbedret inddrivelse af restancer til det offentlige m.v.) indeholder følgende ikrafttrædelses- og overgangsbestemmelse:',
           sections: [Object] } ],
      footnotes:
       [ 'Lovændringen vedrører § 18, stk. 4, og § 19, stk. 6, 2. pkt.',
         'Lovændringen vedrører § 17, stk. 1, nr. 1 og 3, og stk. 3, § 20, stk. 3 og stk. 4, 2. pkt.',
         'Ved bekendtgørelse nr. 208 af 15. marts 2011 er det bestemt, at loven træder i kraft den 1. april 2011.',
         'Lovændringen vedrører § 3, stk. 3, nr. 1, og stk. 4.',
         'Bekendtgørelsen i Lovtidende fandt sted den 11. maj 2011.',
         'Lovændringen vedrører § 2 a og § 3, stk. 3, nr. 2-4.',
         'Lovændringen vedrører § 18, stk. 4, og § 19, stk. 6.' ] }
    
    

    Test

    Run npm test

    Licence

    This piece of software is licensed under the MIT license.

    Install

    npm i node-retsinfo

    DownloadsWeekly Downloads

    0

    Version

    0.0.0

    License

    MIT

    Last publish

    Collaborators

    • jesperborgstrup