Example #1
0
def main(argv):

    repo = Repository(root='%s/fedora/' % HOST, username='******' % fedoraUser, password='******' % fedoraPass).risearch
    s = solr.SolrConnection('%s/solr' % HOST)
    query = 'select ?pid where {?pid <fedora-rels-ext:isMemberOfCollection> <info:fedora/dimenovels:40>}'

    pids = repo.find_statements(query, language='sparql', type='tuples', flush=None)

    csvfile = open ("C:/Users/a1691506/Desktop/bdn.csv", 'wb')
    csvwriter = csv.writer(csvfile, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)

    for dictionary in pids:

      for key in dictionary:

        p = dictionary[key]
        pid = p.replace('info:fedora/', '')
        print pid

        response = s.query('PID:"%s"' % pid)

        results = repo.sparql_query('select ?pid where {?pid <fedora-rels-ext:isMemberOf> <info:fedora/%s> }' % pid)

        rows = list(results)
        pages = len(rows)

        try:

            for hit in response.results:

                title = hit['mods_title_full_ms'][0]
                number = hit['mods_series_number_ms'][0]
                date = hit['mods_dateIssued_ms'][0]

                csvwriter.writerow([pid, title, number, date, pages])
        except:

            print "%s failed." % pid

    csvfile.close()