Souper

সফটওয়্যার স্ক্রিনশট:
Souper
সফটওয়্যার বিবরণ:
সংস্করণ: 1.0.1
তারিখ আপলোড: 20 Feb 15
ডেভেলপার: BlueDynamics Alliance
লাইসেন্স: বিনামূল্যে
জনপ্রিয়তা: 4

Rating: nan/5 (Total Votes: 0)

Souper প্রোগ্রামারদের জন্য একটি পাইথন হাতিয়ার. এটি একটি ক্যাটালগ সূচী সঙ্গে একসঙ্গে বাঁধা একটি সমন্বিত স্টোরেজ. স্টোরেজ রেকর্ড জেনেরিক. এটা ZODB ক্রমাগত pickable যদি একটি রেকর্ড কোন তথ্য সংরক্ষণ করা সম্ভব হয়.
Souper যেমন পিরামিড বা Plone হিসেবে ZODB, ব্যবহার করে কোনো পাইথন অ্যাপ্লিকেশন ব্যবহার করা যাবে.
Souper ব্যবহার করে
একটি লোকেটার প্রদান
সূপ কিছু প্রসঙ্গ souper.interfaces.IStorageLocator অভিযোজিত দ্বারা আপ করানো হয়. Souper কোনো ডিফল্ট লোকেটার উপলব্ধ করা হয় না. সুতরাং প্রথম এক প্রদান করা প্রয়োজন. এর প্রেক্ষাপটে কিছু ক্রমাগত অভি মত উদাহরণস্বরূপ অনুমান করা যাক:
>>> Zope.interface আমদানি implementer থেকে
>>> Zope.interface আমদানি ইন্টারফেস থেকে
>>> Zope.component আমদানি provideAdapter থেকে
>>> Souper.interfaces IStorageLocator আমদানি থেকে
>>> Souper.soup আমদানি SoupData থেকে
>>>implementer (IStorageLocator)
... বর্গ StorageLocator (বস্তু):
...
... Def __init __ (স্ব, কনটেক্সট):
... Self.context = প্রসঙ্গে
...
... Def স্টোরেজ (স্ব, soup_name):
... Soup_name না self.context যদি:
... Self.context [soup_name] = SoupData ()
... ফিরে self.context [soup_name]
>>> ProvideAdapter (StorageLocator, আত্তীকরণ করে = [ইন্টারফেস])
সুতরাং আমরা লোকেটার উড়ে নাম সূপ তৈরি আছে. নামের একটি স্যুপ পেতে এখন তার সহজ:
>>> Souper.soup আমদানি get_soup থেকে
>>> স্যুপ = get_soup ('mysoup', কনটেক্সট)
>>> স্যুপ
<0x ... এ souper.soup.Soup বস্তুর>
একটি ক্যাটালগ কারখানার প্রদান
আপনার চাহিদা ক্যাটালগ এবং তার সূচী উপর নির্ভর করে ব্যবহার-ক্ষেত্রে ব্যবহারের ক্ষেত্রে থেকে আলাদা হতে পারে. ক্যাটালগ কারখানা একটি স্যুপ জন্য একটি ক্যাটালগ তৈরি করতে দায়ী. কারখানা souper.interfaces.ICatalogFactory বাস্তবায়নের একটি নামে ইউটিলিটি. স্যুপ হিসাবে একই আছে উপযোগ নাম আছে.
এখানে repoze.catalog ব্যবহার করা হয় এবং ইনডেক্স NodeAttributeIndexer ব্যবহার করা হয় কি করে রেকর্ড তথ্য অ্যাক্সেস দেওয়া. বিশেষ ক্ষেত্রে এক তার নিজস্ব indexers লিখতে পারে, কিন্তু ডিফল্ট এক সময় সবচেয়ে জরিমানা:
>>> Souper.interfaces ICatalogFactory আমদানি থেকে
>>> Souper.soup আমদানি NodeAttributeIndexer থেকে
>>> Zope.component আমদানি provideUtility থেকে
>>> Repoze.catalog.catalog আমদানি ক্যাটালগ থেকে
>>> Repoze.catalog.indexes.field আমদানি CatalogFieldIndex থেকে
>>> Repoze.catalog.indexes.text আমদানি CatalogTextIndex থেকে
>>> Repoze.catalog.indexes.keyword আমদানি CatalogKeywordIndex থেকে
>>>implementer (ICatalogFactory)
... বর্গ MySoupCatalogFactory (বস্তু):
...
... Def __call __ (স্ব, কনটেক্সট = কেউ না):
... ক্যাটালগ = ক্যাটালগ ()
... Userindexer = NodeAttributeIndexer ('ব্যবহারকারী')
... ক্যাটালগ [u'user '] = CatalogFieldIndex (userindexer)
... Textindexer = NodeAttributeIndexer ('টেক্সট')
... ক্যাটালগ [u'text '] = CatalogTextIndex (textindexer)
... Keywordindexer = NodeAttributeIndexer ('কীওয়ার্ড')
... ক্যাটালগ [u'keywords '] = CatalogKeywordIndex (keywordindexer)
... ফিরে ক্যাটালগ
>>> ProvideUtility (MySoupCatalogFactory (), নাম = "mysoup")
ক্যাটালগ কারখানা স্যুপ অভ্যন্তরীণ শুধুমাত্র ব্যবহার করা হয় কিন্তু এটি কাজ করে জরিমানা যদি এক চেক করতে চান, করতে পারেন:
>>> Catalogfactory = getUtility (ICatalogFactory, নাম = 'mysoup')
>>> Catalogfactory
<0x ... এ MySoupCatalogFactory বস্তুর>
>>> ক্যাটালগ = catalogfactory ()
>>> সাজানো (catalog.items ())
[(<0x ... এ repoze.catalog.indexes.keyword.CatalogKeywordIndex বস্তুর> u'keywords ',),
(<0x ... এ repoze.catalog.indexes.text.CatalogTextIndex বস্তুর> u'text ',),
(U'user ', )]
রেকর্ড যোগ করার পদ্ধতি
Souper.soup.Record পূর্বেই উল্লেখ করা হয়েছে স্যুপ যোগ করা তথ্য এক এবং একমাত্র ধরনের. একটি রেকর্ড তথ্য ধারণকারী বৈশিষ্ট্য আছে:
>>> Souper.soup আমদানি get_soup থেকে
>>> Souper.soup আমদানি রেকর্ড থেকে
>>> স্যুপ = get_soup ('mysoup', কনটেক্সট)
>>> রেকর্ড = রেকর্ড ()
>>> Record.attrs ['ব্যবহারকারী'] = 'user1'
>>> Record.attrs ['টেক্সট'] = u'foo বার Baz '
>>> Record.attrs ['কীওয়ার্ড'] = [u'1 ', u'2', তোমার 'ও uuml;']
>>> Record_id = soup.add (রেকর্ড)
হতে পারে একটি রেকর্ড অন্যান্য রেকর্ড রয়েছে. কিন্তু সূচক তাদের এক, তাই usally conatined রেকর্ড না অনুসন্ধানের জন্য, পরে প্রদর্শনের জন্য মূল্যবান একটি কাস্টম indexer প্রয়োজন হবে:
>>> রেকর্ড ['subrecord'] = রেকর্ড ()
>>> রেকর্ড ['homeaddress']. Attrs ['জিপ'] = '6020'
>>> রেকর্ড ['homeaddress']. Attrs ['শহরে'] = 'ইন্সব্রুক'
>>> রেকর্ড ['homeaddress']. Attrs ['দেশ'] = 'অস্ট্রিয়া'
এক্সেস তথ্য
এমনকি একটি রেকর্ড আইডি দ্বারা সংগৃহীত করা যাবে কোনো প্রশ্নের সাথে ছাড়া:
>>> Souper.soup আমদানি get_soup থেকে
>>> স্যুপ = get_soup ('mysoup', কনটেক্সট)
>>> রেকর্ড = soup.get (record_id)
সব রেকর্ড ধারক btree ব্যবহার করে ব্যবহার করা যেতে পারে:
>>> Soup.data.keys () [0] == record_id
সত্য
প্রশ্নের তথ্য
কিভাবে একটি repoze ক্যাটালগ প্রশ্ন করতে ভাল নথিভুক্ত করা হয়. বাছাই খুব একই কাজ করে. অনুসন্ধান (তারপর repoze ক্যাটালগ ব্যবহার করে) সূপ প্রশ্ন পদ্ধতি গৃহীত হয়. এটি একটি জেনারেটর ফেরৎ:
>>> Repoze.catalog.query আমদানি নীতিমালা থেকে
>>> [Soup.query মধ্যে জন্য আর (EQ ('ব্যবহারকারী', 'user1'))]
[<রেকর্ড বস্তু ... এ 'কেউ'>]
>>> [Soup.query মধ্যে জন্য আর (EQ ('ব্যবহারকারী', 'nonexists'))]
[]
এছাড়াও ফলাফল সেট এর আকার পেতে প্রশ্নের মান সত্য with_size = পাস. জেনারেটর দ্বারা ফিরে প্রথম আইটেম আকার:
>>> [Soup.query মধ্যে জন্য আর (EQ ('ব্যবহারকারী', 'user1'), with_size-সত্য)]
[1, <রেকর্ড বস্তুর 'কেউ' এ ...>]
বড় ফলাফল হ্যান্ডলিং নিখুত এক রেকর্ড কিন্তু হালকা ওজন বস্তু ফিরে একটি জেনারেটর আনা হতে পারে না সেট করে. রেকর্ড কল সংগৃহীত হয়:
>>> অলস = [soup.lazy মধ্যে ঠ জন্য L (EQ ('নাম', 'নাম'))]
>>> অলস
[<... এ souper.soup.LazyRecord বস্তুর>
>>> অলস [0] ()
<... এ রেকর্ড বস্তুর 'কেউ'>
With_size প্রেরণ করা হয় সত্য = যদি এখানে আকার খুব geneartor প্রথম মান হিসাবে প্রেরণ করা হয়.
একটি রেকর্ড মুছে দিন
দেল কোনো অভি উপর করতে হবে এক মত ব্যবহার করা হয় স্যুপ ময়াল সাপ থেকে একটি রেকর্ড মুছে ফেলার জন্য:
>>> দেল স্যুপ [record_id]
Reindex
একটি রেকর্ড তথ্য পরিবর্তন করার পর এটি একটি reindex প্রয়োজন:
>>> Record.attrs ['ব্যবহারকারী'] = 'user1'
>>> Soup.reindex (রেকর্ড = [রেকর্ড])
কখনও কখনও এক সব তথ্য reindex করতে পারেন. তারপর পরামিতি ছাড়া বলতে হবে reindex. এটি একটি সময় নিতে পারে:
>>> Soup.reindex ()
ক্যাটালগ পুনর্গঠন
ক্যাটালগ কারখানা একটি পরিবর্তন করা হয়েছে usally পর - অর্থাৎ কিছু সূচক যোগ করা হয়েছিল - একটি আমি প্রয়োজন ক্যাটালগ পুনর্নির্মাণের. এটা ক্যাটালগ কারখানা দ্বারা নির্মিত একটি নতুন এক সঙ্গে বর্তমান ক্যাটালগ প্রতিস্থাপন এবং সমস্ত তথ্য reindexes. এটা সময় নিতে পারে:
>>> Soup.rebuild ()
স্যুপ রিসেট (বা মুছে ফেলা)
স্যুপ এবং খালি থেকে সব তথ্য মুছে ফেলা এবং পরিষ্কার ক্যাটালগ কল পুনর্নির্মাণের. দৃষ্টি আকর্ষণ: সব তথ্য হারিয়ে গেছে!
>>> Soup.clear ()
ইনস্টলেশনের
Souper node.ext.zodb ব্যবহার করার জন্য প্রয়োজন হয়. এই বিটা কোন রিলিজ ছিল মুক্তি ছিল (শীঘ্রই সম্পন্ন করা হবে). এটা আছে, যদি অন্যথায় GitHub থেকে node.ext.zodb আনা, দয়া করে pypi দয়া করে চেক করুন

এই রিলিজে নতুন কি:.

  • PEP-8. [Rnix, 2012-10-16]
  • পাইথন 2.7 সমর্থন. [Rnix, 2012-10-16]
  • ফিক্স ডকুমেন্টেশন.

আবশ্যক

  • পাইথন

বিকাশকারী অন্যান্য সফ্টওয়্যার BlueDynamics Alliance

node.ext.zodb
node.ext.zodb

20 Feb 15

vdexcsv
vdexcsv

11 May 15

মন্তব্য Souper

পাওয়া মন্তব্যসমূহ না
মন্তব্য যোগ করুন
ছবি চালু!