User Tools

Site Tools


pymarc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pymarc [12/05/2009 10:16]
fernando creada (movida desde namespace notas)
pymarc [19/08/2009 00:00]
Line 1: Line 1:
-====== pymarc ====== 
  
-pymarc 2.0 / read, write and modify MARC bibliographic data 
- 
-Web: http://​pypi.python.org/​pypi/​pymarc/​2.0 
- 
-Code: http://​fruct.us/​bzr/​pymarc/​ 
- 
- 
-**PACKAGE CONTENTS** 
- 
-  * constants 
-  * exceptions 
-  * field 
-  * marc8 
-  * marc8_mapping 
-  * marcxml 
-  * reader 
-  * record 
-  * writer 
- 
- 
- 
-===== record ===== 
- 
-  class Record(object):​ 
-    A class for representing a MARC record. Each Record object is made up of 
-    multiple Field objects. You'll probably want to look at the docs for Field 
-    to see how to fully use a Record object. 
-    ​ 
-    Basic usage: 
-    ​ 
-        field = Field( 
-            tag = '​245', ​ 
-            indicators = ['​0','​1'​],​ 
-            subfields = [ 
-                '​a',​ 'The pragmatic programmer : ', 
-                '​b',​ 'from journeyman to master /', ​ 
-                '​c',​ '​Andrew Hunt, David Thomas.',​ 
-            ]) 
-    ​ 
-        record.add_field(field) 
-    ​ 
-    Or creating a record from a chunk of MARC in transmission format: 
-    ​ 
-        record = Record(data=chunk) 
-    ​ 
-    Or getting a record as serialized MARC21. 
-    ​ 
-        raw = record.as_marc21() 
-    ​ 
-    You'll normally want to use a MARCReader object to iterate through ​ 
-    MARC records in a file.  ​ 
- 
- 
-==== Methods ==== 
- 
-    def __init__(self,​ data=''​):​ 
-      Si len(data) > 0 llama a self.decode_marc(data) 
- 
-    def __str__(self):​ 
-        In a string context a Record object will return a prettified version 
-        of the record in MARCMaker format. See the docstring for Field.__str__ 
-        for more information. 
- 
-    def __getitem__(self,​ tag): 
-        Allows a shorthand lookup by tag: 
-        ​ 
-            record['​245'​] 
- 
-    def __iter__(self):​ 
-       Usado para iterar sobre los campos; ver next() 
- 
-    def next(self): 
-       Usado para iterar sobre los campos 
- 
-    def add_field(self,​ *fields): 
-        add_field() will add pymarc.Field objects to a Record object. 
-        Optionally you can pass in multiple fields. 
- 
-    def get_fields(self,​ *args): 
-        When passed a tag ('​245'​),​ get_fields() will return a list of all the  
-        fields in a record with a given tag.  
-        ​ 
-            title = record.get_fields('​245'​) 
-        ​ 
-        If no fields with the specified ​ 
-        tag are found then an empty list is returned. If you are interested 
-        in more than one tag you can pass in a list: 
-        ​ 
-            subjects = record.get_fields('​600',​ '​610',​ '​650'​) ​ 
-        ​ 
-        If no tag is passed in to fields() a list of all the fields will be  
-        returned. 
- 
-    def decode_marc(self,​ marc): 
-        decode_marc() accepts a MARC record in transmission format as a 
-        a string argument, and will populate the object based on the data 
-        found. The Record constructor actually uses decode_marc() behind 
-        the scenes when you pass in a chunk of MARC data to it. 
- 
-    def as_marc21(self):​ 
-        returns the record serialized as MARC21 
- 
-Estos métodos devuelven campos específicos:​ 
- 
-    def title(self):​ 
-    def isbn(self): 
-    def author(self):​ 
-    ... 
- 
- 
-===== field ===== 
- 
-  class Field(object):​ 
-    Field() pass in the field tag, indicators and subfields for the tag. 
-    ​ 
-        field = Field( 
-            tag = '​245',​ 
-            indicators = ['​0','​1'​],​ 
-            subfields = [                               NOTE: positions 0, 2, 4, ... are codes; 1, 3, 5, ... are values 
-                '​a',​ 'The pragmatic programmer : ', 
-                '​b',​ 'from journeyman to master /', ​ 
-                '​c',​ '​Andrew Hunt, David Thomas.',​ 
-            ] 
-    ​ 
-    If you want to create a control field, don't pass in the indicators 
-    and use a data parameter rather than a subfields parameter: 
-    ​ 
-        field = Field(tag='​001',​ data='​fol05731351'​) 
- 
- 
-==== Methods ==== 
- 
- 
-    def __init__(self,​ tag, indicators=None,​ subfields=None,​ data=''​):​ 
-      data se usa sólo para campos de control (tag < 010) 
- 
-    def __iter__(self):​ 
-      usado para iterar sobre los subcampos (ver next()) 
-      Devuelve: self 
- 
-    def __str__(self):​ 
-        A Field object in a string context will return the tag, indicators 
-        and subfield as a string. This follows MARCMaker format; see [1] 
-        and [2] for further reference. Special character mnemonic strings 
-        have yet to be implemented (see [3]), so be forewarned. Note also 
-        for complete MARCMaker compatibility,​ you will need to change your 
-        newlines to DOS format ('​\r\n'​). 
-        ​ 
-        [1] http://​www.loc.gov/​marc/​makrbrkr.html#​mechanics 
-        [2] http://​search.cpan.org/​~eijabb/​MARC-File-MARCMaker/​ 
-        [3] http://​www.loc.gov/​marc/​mnemonics.html 
-        ​ 
-        Devuelve: string 
- 
-    def __getitem__(self,​ subfield): 
-        Retrieve the first subfield with a given subfield code in a field: 
-        ​ 
-            field['​a'​] 
-        ​ 
-        Handy for quick lookups. 
- 
-    def next(self): 
-      usado para iterar sobre los subcampos 
- 
-    def value(self):​ 
-        Returns the field as a string without tag, indicators, and  
-        subfield indicators. 
- 
-    def get_subfields(self,​ *codes): 
-        get_subfields() accepts one or more subfield codes and returns 
-        a list of subfield values. ​ The order of the subfield values 
-        in the list will be the order that they appear in the field. 
-        ​ 
-            print field.get_subfields('​a'​) 
-            print field.get_subfields('​a',​ '​b',​ '​z'​) 
-        ​ 
-        Devuelve: None o lista de valores, e.g. ['​Pérez,​ Juan,',​ '​1954-'​] 
- 
-    def add_subfield(self,​ code, value): 
-        Adds a subfield code/value pair to the field. 
-        ​ 
-            field.add_subfield('​u',​ '​http://​www.loc.gov'​) 
-        ​ 
-        Devuelve: nada 
- 
-    def is_control_field(self):​ 
-        returns true or false if the field is considered a control field. 
-        Control fields lack indicators and subfields. 
-        ​ 
-        Devuelve: boolean 
- 
-    def as_marc21(self):​ 
-        used during conversion of a field to raw marc 
-        ​ 
-        Devuelve: string 
- 
-    def format_field(self):​ 
-        Returns the field as a string without tag, indicators, and 
-        subfield indicators. Like pymarc.Field.value(),​ but prettier 
-        (adds spaces, formats subject headings). 
-        ​ 
-        Devuelve: string 
- 
-    def is_subject_field(self):​ 
-        Returns True or False if the field is considered a subject 
-        field. ​ Used by format_field. 
-        ​ 
-        Devuelve: boolean 
- 
- 
-{{tag>​python marc}} 
pymarc.txt · Last modified: 19/08/2009 00:00 (external edit)