De

fornece blobstore de baixo nível orientado para plugin
Baixe Agora

De Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • The Apache License 2.0
  • Nome do editor:
  • Ben O'Steen, Friedrich Lindenberg and Rufus Pollock
  • Site do editor:
  • http://bitbucket.org/okfn/

De Tag


De Descrição

Fornece blobstore de baixo nível orientado para plugin OFS é uma biblioteca de armazenamento de balde / objeto. Oit fornece uma API comum para fazer o armazenamento de bitstreams (+ um pouco de metadados relacionados) em lojas 'Bucket / Object', como: * FileSystem (+ pareal) * S3-compatível: S3, Google Armazenamento, EucalyTus, Archive.org * Riak (Buggy) * 'Resto' Store (veja Remote / Reststore.py.py - Implementação em http://bitbucket.org/pudo/repod/) * Adicionar um backend herewhy Use a biblioteca: * Abstração: Escreva o código comum, mas use backends de armazenamento diferentes * Mais do que um sistema de arquivos, menos que um banco de dados - suporte para o Metadados, bem como Bitstreams * Recursos extras: - Sharding - Share automático de arquivos para suportar o exemplo do sistema de arquivos distribuído como estrutura (planejada) Uso (versão local - depende do 'paraleiro' e 'Simplejson'): >>> da OFS.Local importação de >>> o = ofs () (equivalente a 'O = ofs (storage_dir = "dados", URI_BASE = "URN: UUID:", hashhing_type = "md5") ') # Reivindique um balde - isso adicionará o balde à lista de existentes >>> uuid_id = O.Claim_A_Bucket () >>> uuid_id' 4aaaa43c DF5BA44E2AD25CDBD1CF2F70 '# Escolha um nome de balde - se existir, um novo UUID será formado e retornado >>> bucket_id = O.Claim_A_Bucket ("foo") >>> Bucket_id' foo '>>> balde_id = O.Claim_a_Bucket ("foo") >>> bucket_id '1bf93208521545879e79c13614cd12f0' # armazenar um arquivo: >>> o.put_stream (balde_id, "foo.txt", aberto ("foo ....)) {'_label': 'foo. TXT ',' _Content_Length ': 10,' _Checksum ':' MD5: 10FEDA25F8DA2EA351224 ',' _LAST_Modificado ':' 2010-08-02T11: 37: 21 ',' _CREATION_DATE ':' 2010-08-02T11: 37: 21 ' } # ou: >>> o.put_stream (balde_id, "foo.txt", "asidaisdiasjdiajsidjasidji") {'_label': 'foo.txt', '_content_length': 10, '_Checksum': 'MD5: 10FEDA25F8DA2E2EBFBE646EEAA351224', '_LAST_Modificada': '2010-08-02T11: 37: 21', '_CREATION_DATE': '2010-08-02T11: 37: 21'} # Adicionando um arquivo com alguns parâmetros: >>> O.Put_Stream (Bucket_ID, " fooooe "," Asidaisdiasjdiajsidjasidji ", params = {" original_uri ":" http: // .... "}) {'_Label': 'foooo', 'original_uri': 'http: // ....', '_last_Modified': '2010-08-02T11: 39:11 ',' _Checksum ':' MD5: 3D690D7E0F4479C5A7038B8A4572D0FE ',' _cration_date ':' 2010-08-02T11: 39: 11 ',' _Content_length ': 26} # Obtenha o URL subjacente apontando para um recurso >>> .get_url (bucket_id, "foo") "Arquivo: ///opt/ofs_store/pairtree_root/1b/f9/32/......./obj/foo" "http: // ..." "ftp: // ..." # adicionando aos metadados existentes: >>> o.update_metadata (balde_id, "foooo", {'foo': 'bar'}) {' _Label ':' foooo ',' original_uri ':' http: // .... ',' _LAST_Modified ':' 2010-08-02T11: 39: 11 ',' _Checksum ':' MD5: 3D690d7e0f4479c5a7038b8a4572d0fe ',' _creative_date ':' 2010-08-0211: 39: 11 ',' _Content_length ': 26,' foo ':' bar '} # remova as teclas >>> o.remove_metadata_keys (balde_id, "foooo", [Foooo " {'_Label': 'foooo', 'original_uri': 'http: // ....', '_LAST_Modified': '2010-08-02T11: 39: 11', '_Checksum': 'MD5: 3D690d7e0f4479c5a7038b8a4572d0fe', '_CREATION_DATE': '2010-08-02T11: 39: 11', '_Content_length': 26} # excluir blob >>> o.exists (balde_id, "foooo") verdadeiro >>> El_stream (Bucket_ID, "Foooo") >>> O.Exists (Bucket_ID, "foooo") Falso # iterar através de IDs para baldes mantidos: >>> para o item em O.List_Buckets (): ... Item de impressão ... 447536aa0f1b411089d12399738de8e 4a726b0A33974480a2a26d34fa0d494d 4aaa43cdf5ba44E2D25ACDBD1CF2F70 .... etc requisitos: · Pitão


De Software Relacionado

tw2.devtools.

Web Widget Creation Toolkit baseado em Widgets de Turboogears - Ferramentas de desenvolvimento ...

128

Download

Pyru.

uma implementação de cache menos recentemente usada (LRU) ...

157

Download