Skip to content
Snippets Groups Projects
Select Git revision
  • 4506a587deb80e1f4a24f6646a5f5c0263c6a67c
  • master default
  • fin/ulo-section
  • week45/fancy-builds
  • fin/applogos
  • week41/final-review
  • week41/review-again
  • week41/reporting-on-app
  • week40/apppep
  • week40/review-report
  • week40/elementary
  • week39/transitive
  • week39/lazy-scores
  • week39/application-sections-fix
  • week39/feedback-holes
  • week39/feedback-versioning
  • week38/slide-review
  • issue13/fix
  • issue13/version-upgrade
  • issue12/setup
  • issue10/explorer
21 results

seperate.py

Blame
  • seperate.py 1.29 KiB
    #! /usr/bin/env python3
    
    #
    # generate-table.py
    #
    # Given CSV data passed on stdin with two columns (number of
    # occurences, URI), split up the lines in those that have at least one
    # occurence and those that do not.
    #
    
    
    from typing import Tuple
    import csv
    import sys
    
    
    def shorten_predicate(uri: str) -> str:
        ULO_NAMESPACE = 'https://mathhub.info/ulo#'
        DCTERMS_NAMESPACE = 'http://purl.org/dc/terms/'
    
        uri = uri.replace(ULO_NAMESPACE, 'ulo:')
        uri = uri.replace(DCTERMS_NAMESPACE, 'dcterms:')
    
        return uri
    
    
    def main():
        occupied = []
        unoccupied = []
    
        for row in csv.reader(sys.stdin):
            if row:
                predicate = shorten_predicate(row[1])
                occurence = int(row[0])
    
                if occurence == 0:
                    unoccupied.append(predicate)
                else:
                    occupied.append(predicate)
    
        print('--------------- OCCUPIED ---------------')
        for pred in occupied:
            print(pred)
    
        print('\n------------ UNOCCUPIED ------------')
        for pred in unoccupied:
            print(pred)
    
        print('\n------------ STATS ------------')
        print('#occupied %d' % len(occupied))
        print('#unoccupied %d' % len(unoccupied))
    
    
    if __name__ == '__main__':
        try:
            main()
        except (KeyboardInterrupt, SystemExit, BrokenPipeError):
            pass