| PYFEEDGEN.TEX(1) | python-feedgen | PYFEEDGEN.TEX(1) |
نام (NAME)
pyFeedGen.tex - مستندات pyFeedGen
فهرست مطالب (Table of Contents)
- •
- Feedgenerator
- نصب
- ایجاد یک فید
- تولید فید
- افزودن مدخلهای فید
- افزونهها
- آزمایش تولیدکننده
- مستندات پودمان
- نمایهها و جدولها
این پودمان میتواند برای تولید فیدهای وب در هر دو قالب ATOM و RSS استفاده شود. همچنین دارای پشتیبانی از افزونهها است؛ برای نمونه افزونهای برای تولید پادکستها در آن گنجانده شده است.
این پروژه تحت شرایط هر دو مجوز FreeBSD و LGPLv3+ منتشر شده است. هرکدام را که برای شما مناسبتر است انتخاب کنید. برای جزئیات بیشتر نگاهی به license.bsd و license.lgpl بیندازید.
جزئیات بیشتر درباره پروژه:
- مخزن https://github.com/lkiesow/python-feedgen
- مستندات https://lkiesow.github.io/python-feedgen
- نمایه بستههای پایتون https://pypi.python.org/pypi/feedgen
نصب (INSTALLATION)
بستههای از پیش ساختهشده
اگر توزیع شما این پروژه را به عنوان یک بسته شامل میشود (مانند Fedora Linux)، میتوانید به سادگی از مدیر بستهی خود برای نصب بسته استفاده کنید. برای مثال:
$ dnf install python3-feedgen
استفاده از pip
همچنین میتوانید از pip برای نصب پودمان feedgen استفاده کنید. کافی است اجرا کنید:
$ pip install feedgen
برای ایجاد یک فید، کافی است از کلاس FeedGenerator نمونهسازی کرده و دادههایی را وارد کنید:
from feedgen.feed import FeedGenerator
fg = FeedGenerator()
fg.id('http://lernfunk.de/media/654321')
fg.title('Some Testfeed')
fg.author( {'name':'John Doe','email':'john@example.de'} )
fg.link( href='http://example.com', rel='alternate' )
fg.logo('http://ex.com/logo.jpg')
fg.subtitle('This is a cool feed!')
fg.link( href='http://larskiesow.de/test.atom', rel='self' )
fg.language('en')
توجه داشته باشید که برای متدهایی که فیلدهای با امکان تکرار چندباره در یک فید را مقداردهی میکنند، میتوانید از تمام روشهای زیر برای ارائه دادهها استفاده کنید:
- ارائه دادههای آن عنصر بهصورت آرگومانهای کلیدواژهای (keyword arguments)
- ارائه دادههای آن عنصر بهصورت یک دیکشنری (dictionary)
- ارائه فهرستی از دیکشنریها شامل دادههای چندین عنصر
مثال:
fg.contributor( name='John Doe', email='jdoe@example.com' )
fg.contributor({'name':'John Doe', 'email':'jdoe@example.com'})
fg.contributor([{'name':'John Doe', 'email':'jdoe@example.com'}, ...])
تولید فید (GENERATE THE FEED)
پس از آن میتوانید با فراخوانی متد مربوطه، هر دو قالب RSS یا ATOM را تولید کنید:
atomfeed = fg.atom_str(pretty=True) # Get the ATOM feed as string
rssfeed = fg.rss_str(pretty=True) # Get the RSS feed as string
fg.atom_file('atom.xml') # Write the ATOM feed to a file
fg.rss_file('rss.xml') # Write the RSS feed to a file
افزودن مدخلهای فید (ADD FEED ENTRIES)
برای افزودن مدخلها (آیتمها) به یک فید، باید شیءهای جدیدی از FeedEntry ایجاد کرده و آنها را به فهرست مدخلها در FeedGenerator الحاق کنید. راحتترین روش، استفاده از خود FeedGenerator برای نمونهسازی شیء FeedEntry است:
fe = fg.add_entry()
fe.id('http://lernfunk.de/media/654321/1')
fe.title('The First Episode')
fe.link(href="http://lernfunk.de/feed")
متد add_entry(...) در FeedGenerator یک شیء جدید از FeedEntry ایجاد کرده، آن را بهطور خودکار به فهرست داخلی مدخلهای فید الحاق میکند و آن را بازمیگرداند تا بتوان دادههای تکمیلی را اضافه کرد.
افزونهها (EXTENSIONS)
کلاس FeedGenerator از افزونهها برای گنجاندن دادههای بیشتر در ساختار XML فیدها پشتیبانی میکند. افزونهها را میتوان بدین صورت بارگذاری کرد:
fg.load_extension('someext', atom=True, rss=True)
این مثال تلاش میکند افزونه «someext» را از فایل ext/someext.py بارگذاری کند. لازم است که someext.py شامل کلاسی به نام «SomextExtension» باشد که وجود حداقل دو متد extend_rss(...) و extend_atom(...) در آن الزامی است. اگرچه اجباری نیست، اما اکیداً پیشنهاد میشود که از BaseExtension در ext/base.py بهعنوان کلاس پایه (superclass) استفاده شود.
همچنین load_extension('someext', ...) تلاش خواهد کرد تا کلاسی به نام «SomextEntryExtension» را برای تکتک مدخلهای فید بارگذاری کند. این کلاس میتواند یا در همان فایل SomextExtension یا در ext/someext_entry.py قرار گیرد که بهویژه برای افزونههای بزرگ پیشنهاد میشود.
پارامترهای atom و rss کنترل میکنند که آیا افزونه به ترتیب برای فیدهای ATOM و RSS استفاده شود یا خیر. مقدار پیشفرض هر دو پارامتر True است، به این معنی که افزونه برای هر دو نوع فید به کار گرفته میشود.
مثال: تولید یک پادکست (Producing a Podcast)
یکی از افزونههایی که از پیش ارائه شده، افزونه podcast است. یک پادکست در واقع یک فید RSS با برخی عناصر اضافی برای ITunes است.
برای تولید یک پادکست، کافی است افزونه podcast را بارگذاری کنید:
from feedgen.feed import FeedGenerator
fg = FeedGenerator()
fg.load_extension('podcast')
...
fg.podcast.itunes_category('Technology', 'Podcasting')
...
fe = fg.add_entry()
fe.id('http://lernfunk.de/media/654321/1/file.mp3')
fe.title('The First Episode')
fe.description('Enjoy our first episode.')
fe.enclosure('http://lernfunk.de/media/654321/1/file.mp3', 0, 'audio/mpeg')
...
fg.rss_str(pretty=True)
fg.rss_file('podcast.xml')
اگر از کلاس FeedGenerator برای بارگذاری افزونه استفاده شود، آن افزونه بهطور خودکار برای تکتک مدخلهای فید نیز بارگذاری میشود. با این حال، میتوانید با فراخوانی load_extension(...) روی یک FeedEntry خاص، افزونه را فقط برای همان مدخل بارگذاری کنید.
حتی در صورت بارگذاری افزونهها، میتوان آنها را در زمان تولید فید با فراخوانی متد تولیدکننده به همراه آرگومان کلیدواژهای extensions تنظیمشده روی False بهطور موقت غیرفعال کرد.
افزونههای سفارشی (Custom Extensions)
اگر قصد دارید افزونههای سفارشی را که بخشی از بسته feedgen نیستند بارگذاری کنید، میتوانید در عوض از متد register_extension استفاده کنید. شما میتوانید مستقیماً کلاسهای مربوط به فید و افزونه مدخل را به این متد ارسال کنید، بدین معنا که میتوانید آنها را در هر جایی تعریف نمایید..SH "آزمایش تولیدکننده (TESTING THE GENERATOR)"
شما میتوانید این ماژول را بهسادگی با اجرای دستور زیر آزمایش کنید:
$ python -m feedgen
اگر میخواهید کدهای این آزمایش را بررسی کنید تا یک نمونه کد کاربردی برای کل فرآیند تولید فید داشته باشید، میتوانید آن را در __main__.py https://github.com/lkiesow/python-feedgen/blob/master/feedgen/__main__.py بیابید.
مستندات API (API DOCUMENTATION)
feedgen
از این ماژول میتوان برای تولید فیدهای وب در هر دو قالب ATOM و RSS استفاده کرد. این ماژول از افزونهها نیز پشتیبانی میکند؛ برای نمونه، افزونهای جهت تولید پادکست در آن گنجانده شده است.
ساخت فید (Create a Feed)
برای ساخت یک فید، کافی است از کلاس FeedGenerator یک نمونه ایجاد کرده و مقداری داده در آن درج کنید:
>>> from feedgen.feed import FeedGenerator
>>> fg = FeedGenerator()
>>> fg.id('http://lernfunk.de/media/654321')
>>> fg.title('Some Testfeed')
>>> fg.author( {'name':'John Doe','email':'john@example.de'} )
>>> fg.link( href='http://example.com', rel='alternate' )
>>> fg.logo('http://ex.com/logo.jpg')
>>> fg.subtitle('This is a cool feed!')
>>> fg.link( href='http://larskiesow.de/test.atom', rel='self' )
>>> fg.language('en')
توجه داشته باشید برای متدهایی که فیلدهای با امکان تکرار بیش از یک بار در فید را تنظیم میکنند، میتوانید از تمامی روشهای زیر برای ارائهٔ دادهها استفاده کنید:
- ارائهٔ دادههای مربوط به آن عنصر بهصورت آرگومانهای کلیدواژهای
- ارائهٔ دادههای مربوط به آن عنصر بهصورت یک دیکشنری
- ارائهٔ فهرستی از دیکشنریها حاوی دادههای مربوط به چندین عنصر
مثال:
>>> fg.contributor(name='John Doe', email='jdoe@example.com' )
>>> fg.contributor({'name':'John Doe', 'email':'jdoe@example.com'})
>>> fg.contributor([{'name':'John', 'email':'jdoe@example.com'}, …])
تولید فید (Generate the Feed)
پس از آن میتوانید با فراخوانی متد مربوطه، هر دو قالب RSS یا ATOM را تولید کنید:
>>> atomfeed = fg.atom_str(pretty=True) # Get the ATOM feed as string
>>> rssfeed = fg.rss_str(pretty=True) # Get the RSS feed as string
>>> fg.atom_file('atom.xml') # Write the ATOM feed to a file
>>> fg.rss_file('rss.xml') # Write the RSS feed to a file
برای افزودن ورودیها (آیتمها) به یک خوراک، باید اشیاء جدید FeedEntry ایجاد کرده و آنها را به فهرست ورودیها در FeedGenerator الحاق کنید. راحتترین روش برای انجام این کار، فراخوانی متد add_entry(...) به شکل زیر است:
>>> fe = fg.add_entry()
>>> fe.id('http://lernfunk.de/media/654321/1')
>>> fe.title('The First Episode')
متد add_entry(...) در FeedGenerator بهطور خودکار یک شیء جدید FeedEntry ایجاد میکند، آن را به فهرست داخلی ورودیهای خوراک پیوست نموده و بازمیگرداند تا دادههای تکمیلی افزوده شوند.
افزونهها (Extensions)
FeedGenerator از افزونهها برای گنجاندن دادههای بیشتر در ساختار XML خوراکها پشتیبانی میکند. افزونهها را میتوان به این صورت بارگذاری کرد:
>>> fg.load_extension('someext', atom=True, rss=True)
این دستور تلاش میکند تا افزونهی «someext» را از فایل ext/someext.py بارگذاری کند. لازم است که someext.py شامل کلاسی به نام «SomextExtension» باشد که حداقل دارای دو متد extend_rss(...) و extend_atom(...) باشد. اگرچه الزامی نیست، اما اکیداً پیشنهاد میشود از BaseExtension موجود در ext/base.py به عنوان سوپرکلاس (superclass) استفاده شود.
متد load_extension('someext', ...) همچنین تلاش میکند تا کلاسی به نام «SomextEntryExtension» را برای هر ورودی از خوراک بارگذاری کند. این کلاس میتواند در همان فایل SomextExtension یا در ext/someext_entry.py قرار داشته باشد که بهویژه برای افزونههای بزرگ پیشنهاد میشود.
پارامترهای atom و rss به FeedGenerator مشخص میکنند که آیا افزونهها باید تنها برای خوراکهای ATOM یا RSS استفاده شوند یا خیر. مقدار پیشفرض برای هر دو پارامتر true است، به این معنی که افزونه برای هر دو نوع خوراک استفاده خواهد شد.
مثال: تولید یک پادکست
یکی از افزونههایی که از قبل ارائه شده، افزونهی podcast است. یک پادکست در واقع یک خوراک RSS همراه با عناصر اضافی برای ITunes است.
برای تولید یک پادکست کافی است افزونهی podcast را بارگذاری کنید:
>>> from feedgen.feed import FeedGenerator
>>> fg = FeedGenerator()
>>> fg.load_extension('podcast')
...
>>> fg.podcast.itunes_category('Technology', 'Podcasting')
...
>>> fg.rss_str(pretty=True)
>>> fg.rss_file('podcast.xml')
البته افزونه باید برای اشیاء FeedEntry نیز بارگذاری شود، اما اگر افزونه برای کل خوراک بارگذاری شده باشد، این کار بهطور خودکار توسط FeedGenerator برای هر ورودی خوراک انجام میگیرد. با این حال میتوانید با فراخوانی load_extension(...) روی یک ورودی، افزونه را برای یک FeedEntry خاص بارگذاری نمایید، هرچند این کاربرد نسبتاً نامعمول است.
البته حتی در صورت بارگذاری چند افزونه، همچنان میتوانید با غیرفعالسازی موقت آنها در طول تولید خوراک، یک خوراک عادی ATOM یا RSS تولید کنید. این کار با فراخوانی متد تولیدکننده به همراه آرگومان کلیدواژهای extensions تنظیمشده روی False امکانپذیر است..SS آزمودن مولد (Testing the Generator)
میتوانید این ماژول را بهسادگی با اجرای دستور زیر بیازمایید:
$ python -m feedgen
محتویات:
feedgen.feed
- class feedgen.feed.FeedGenerator
- کلاس FeedGenerator برای تولید فیدهای ATOM و RSS.
- add_entry(feedEntry=None, order='prepend')
- این متد یک مدخل جدید به فید اضافه میکند. اگر آرگومان feedEntry مشخص نشود، یک شیء Entry جدید بهطور خودکار ایجاد میشود. این روش، روش ترجیحی برای افزودن مدخلهای جدید به یک فید است.
- پارامترها
- feedEntry -- شیء FeedEntry برای افزودن.
- order -- اگر prepend انتخاب شود، مدخل در ابتدای فید درج خواهد شد. اگر append انتخاب شود، مدخل به انتهای فید پیوست میشود (پیشفرض: prepend).
- بازگشتی
- شیء FeedEntry ایجادشده یا ارسالشده به این تابع.
مثال:
...
>>> entry = feedgen.add_entry()
>>> entry.title('First feed entry')
- add_item(item=None)
- این متد یک آیتم جدید به فید اضافه میکند. اگر آرگومان item مشخص نشود، یک شیء FeedEntry جدید بهطور خودکار ایجاد میشود. این متد صرفاً نام دیگری برای (...)add_entry است.
- atom_file(filename, extensions=True, pretty=False, encoding='UTF-8', xml_declaration=True)
- یک فید ATOM تولید کرده و XML حاصل را در یک فایل مینویسد.
- پارامترها
- filename -- نام فایل برای نوشتن، یک شیء شبهفایل یا یک URL.
- extensions -- فعال یا غیرفعال کردن افزونههای بارگذاریشده برای تولید xml (پیشفرض: فعال).
- pretty -- تعیین اینکه آیا فید باید در چند خط شکسته شده و دندانهگذاری مناسب داشته باشد یا خیر.
- encoding -- رمزگذاری استفادهشده در فایل XML (پیشفرض: UTF-8).
- xml_declaration -- تعیین اینکه آیا اعلان XML باید به خروجی اضافه شود یا خیر (پیشفرض: فعال).
- atom_str(pretty=False, extensions=True, encoding='UTF-8', xml_declaration=True)
- یک فید ATOM تولید کرده و XML فید را بهصورت رشته بازمیگرداند.
- پارامترها
- pretty -- تعیین اینکه آیا فید باید در چند خط شکسته شده و دندانهگذاری مناسب داشته باشد یا خیر.
- extensions -- فعال یا غیرفعال کردن افزونههای بارگذاریشده برای تولید xml (پیشفرض: فعال).
- encoding -- رمزگذاری استفادهشده در فایل XML (پیشفرض: UTF-8).
- xml_declaration -- تعیین اینکه آیا اعلان XML باید به خروجی اضافه شود یا خیر (پیشفرض: فعال).
- بازگشتی
- نمایش رشتهای فید ATOM.
نوع بازگشتی: نوع بازگشتی ممکن است بین نسخههای مختلف Python و پارامترهای encoding ارسالشده به این متد متفاوت باشد. برای جزئیات بیشتر به مستندات lxml مراجعه کنید: https://docs.python.org/3/library/xml.etree.elementtree.html#xml.etree.ElementTree.tostring
- دریافت یا
تنظیم
دادههای
نویسنده. یک
عنصر
نویسنده،
دیکشنریای
شامل یک
نام، یک
نشانی
رایانامه و
یک URI است. نام
برای ATOM
اجباری است
و رایانامه
برای RSS
اجباری است.
این متد را میتوان با موارد زیر فراخوانی کرد:
- فیلدهای نویسنده بهصورت آرگومانهای کلیدواژهای
- فیلدهای نویسنده بهصورت یک دیکشنری
- فهرستی از دیکشنریهای حاوی فیلدهای نویسنده
یک نویسنده دارای فیلدهای زیر است:
- name بیانگر نام قابل خواندن توسط انسان برای فرد است.
- uri حاوی صفحهٔ خانگی فرد است.
- email حاوی نشانی رایانامهٔ فرد است.
- پارامترها
- author -- دیکشنری یا فهرستی از دیکشنریها حاوی دادههای نویسنده.
- replace -- افزودن به دادههای قبلی یا جایگزینی آنها.
- بازگشتی
- فهرستی از نویسندگان بهصورت دیکشنری.
مثال:
>>> feedgen.author({'name':'John Doe', 'email':'jdoe@example.com'})
[{'name':'John Doe','email':'jdoe@example.com'}]
>>> feedgen.author([{'name':'Mr. X'},{'name':'Max'}])
[{'name':'John Doe','email':'jdoe@example.com'},
{'name':'John Doe'}, {'name':'Max'}]
>>> feedgen.author(name='John Doe', email='jdoe@example.com',
replace=True)
[{'name':'John Doe','email':'jdoe@example.com'}]
این متد میتواند به روشهای زیر فراخوانی شود:
- فیلدهای یک دستهبندی به عنوان آرگومانهای کلیدواژهای
- فیلدهای یک دستهبندی در قالب یک دیکشنری
- فهرستی از دیکشنریهای حاوی فیلدهای دستهبندی
یک دستهبندی دارای فیلدهای زیر است:
- term دستهبندی را مشخص میکند
- scheme طرحواره دستهبندی را از طریق یک URI مشخص میکند.
- label یک برچسب خوانا برای انسان جهت نمایش ارائه میدهد
اگر یک label موجود باشد، برای خوراکهای RSS استفاده میشود؛ در غیر این صورت از term استفاده خواهد شد. از scheme برای مشخصه domain در RSS استفاده میشود.
- پارامترها
- category -- دیکشنری یا فهرستی از دیکشنریهای حاوی داده.
- replace -- افزودن یا جایگزین کردن دادههای پیشین.
- مقادیر بازگشتی
- فهرستی از دادههای دستهبندی.
- cloud(domain=None, port=None, path=None, registerProcedure=None, protocol=None)
- تنظیم یا دریافت دادههای cloud خوراک. این یک مشخصهٔ اختصاصی RSS است. این مشخصه یک وبسرویس را تعیین میکند که از رابط rssCloud پشتیبانی کرده و میتواند در HTTP-POST، XML-RPC یا SOAP 1.1 پیادهسازی شود.
- پارامترها
- domain -- دامنهای که وبسرویس در آن قرار دارد.
- port -- درگاهی (port) که وبسرویس به آن گوش میدهد.
- path -- مسیر وبسرویس.
- registerProcedure -- رویهای که باید فراخوانی شود.
- protocol -- میتواند HTTP-POST، XML-RPC یا SOAP 1.1 باشد.
- مقادیر بازگشتی
- دیکشنری حاوی دادههای cloud.
- contributor(contributor=None, replace=False, **kwargs)
- دریافت یا
تنظیم
دادههای
مشارکتکننده
(contributor) خوراک.
این مقدار
فقط مخصوص ATOM
است.
این متد میتواند به روشهای زیر فراخوانی شود: - فیلدهای یک مشارکتکننده به عنوان آرگومانهای کلیدواژهای - فیلدهای یک مشارکتکننده در قالب یک دیکشنری - فهرستی از دیکشنریهای حاوی فیلدهای مشارکتکننده
یک مشارکتکننده شامل فیلدهای زیر است: - name بیانگر نامی خوانا برای انسان برای فرد است. - uri شامل نشانی وبگاه فرد است. - email شامل نشانی رایانامه فرد است.
- پارامترها
- contributor -- دیکشنری یا فهرستی از دیکشنریهای حاوی دادههای مشارکتکننده.
- replace -- افزودن یا جایگزین کردن دادههای پیشین.
- مقادیر بازگشتی
- فهرستی از مشارکتکنندگان به صورت دیکشنری.
- copyright(copyright=None)
- دریافت یا تنظیم اعلان حق نشر (copyright) برای محتوای کانال. این مقدار RSS، مقدار atom:rights را نیز تنظیم خواهد کرد.
- پارامترها
- copyright -- اعلان حق نشر.
- مقادیر بازگشتی
- اعلان حق نشر.
- description(description=None)
- تنظیم و دریافت توضیحات (description) خوراک. این یک عنصر اختصاصی RSS است که یک عبارت یا جمله برای توصیف کانال میباشد. استفاده از آن برای خوراکهای RSS اجباری است. این عنصر تقریباً معادل atom:subtitle است؛ بنابراین تنظیم آن، atom:subtitle را نیز تنظیم خواهد کرد.
- پارامترها
- description -- توضیحات کانال.
- مقادیر بازگشتی
- توضیحات کانال.
- docs(docs=None)
- دریافت یا تنظیم مقدار docs خوراک. این مقدار فقط مخصوص RSS است. این مقدار یک URL است که به مستندات قالب استفادهشده در پروندهٔ RSS اشاره میکند. احتمالاً اشارهگری به [1] است. این مقدار برای افرادی است که ممکن است ۲۵ سال بعد تصادفاً در یک کارساز وب با پروندهٔ RSS مواجه شده و بخواهند بدانند چیست.
- پارامترها
- docs -- نشانی URL مستندات قالب.
- مقادیر بازگشتی
- نشانی URL مستندات قالب.
- entry(entry=None, replace=False)
- دریافت یا
تنظیم
مدخلهای (entries)
خوراک. به
جای آن از
متد add_entry()
استفاده
کنید تا
اشیاء FeedEntry به
طور خودکار
ساخته شوند.
این متد میتواند یک شیء تکی FeedEntry یا فهرستی از اشیاء را بپذیرد.
- پارامترها
- entry -- شیء FeedEntry یا فهرستی از اشیاء FeedEntry.
- مقادیر بازگشتی
- فهرست تمام مدخلهای خوراک.
- generator(generator=None, version=None, uri=None)
- دریافت یا تنظیم generator خوراک که نرمافزار استفادهشده برای تولید خوراک را برای اهداف اشکالزدایی و کاربردهای دیگر مشخص میکند. هر دو مشخصهٔ uri و version اختیاری بوده و تنها در خوراک ATOM در دسترس هستند.
- پارامترها
- generator -- نرمافزار استفادهشده برای ساخت خوراک.
- version -- نسخهٔ نرمافزار.
- uri -- شناسه URI که نرمافزار در آن قابل دستیابی است.
- پارامترها
- icon -- شناسه URI آیکون فید.
- مقدار بازگشتی
- شناسه URI آیکون فید.
- id(id=None)
- گرفتن یا تنظیم شناسه فید که فید را با استفاده از یک URI منحصربهفردِ جهانی و دائمی مشخص میکند. اگر اجارهٔ بلندمدت و قابل تمدیدی روی نام دامنه اینترنتی خود دارید، میتوانید با خیال آسوده از نشانی وبسایت خود استفاده کنید. این فیلد فقط مخصوص ATOM است و برای ATOM اجباری میباشد.
- پارامترها
- id -- شناسه (Id) جدید فید ATOM.
- مقدار بازگشتی
- شناسه (Id) فید.
- image(url=None, title=None, link=None, width=None, height=None, description=None)
- تنظیم تصویر فید. این عنصر تقریباً معادل atom:logo است.
- پارامترها
- url -- نشانی URL یک تصویر GIF، JPEG یا PNG.
- title -- تصویر را توصیف میکند. مقدار پیشفرض، عنوان فید است.
- link -- نشانی URL سایتی که تصویر به آن پیوند مییابد. پیشفرض، استفاده از نخستین پیوند alternate فید است.
- width -- عرض تصویر بر حسب پیکسل. بیشینهٔ آن 144 است.
- height -- ارتفاع تصویر. بیشینهٔ آن 400 است.
- description -- عنوان پیوند.
- مقدار بازگشتی
- دادههای تصویر بهصورت dictionary.
- item(item=None, replace=False)
- گرفتن یا تنظیم آیتمهای فید. این صرفاً نام دیگری برای entry(...) است.
- language(language=None)
- گرفتن یا تنظیم زبان فید. این مقدار زبانی را مشخص میکند که کانال به آن نوشته شده است. این به تجمیعکنندهها اجازه میدهد تا برای مثال همهٔ سایتهای زبان ایتالیایی را در یک صفحه گروهبندی کنند. این فیلد فقط مخصوص RSS است. با این حال، این مقدار برای تنظیم ویژگی xml:lang در گره فید ATOM نیز استفاده خواهد شد. این مقدار باید یک برچسب زبان IETF باشد.
- پارامترها
- language -- زبان فید.
- مقدار بازگشتی
- زبان فید.
- lastBuildDate(lastBuildDate=None)
- تنظیم یا
گرفتن
مقدار lastBuildDate که
نشاندهندهٔ
آخرین باری
است که
محتوای
کانال
تغییر
یافته است.
این مقدار میتواند یک رشته باشد که بهطور خودکار تجزیه خواهد شد یا یک شیء datetime.datetime. در هر صورت لازم است که مقدار شامل اطلاعات منطقه زمانی (timezone) باشد.
این متد هر دو مقدار atom:updated و rss:lastBuildDate را تنظیم خواهد کرد.
- مقدار پیشفرض
- در صورت تنظیم نشدن، lastBuildDate دارای مقدار تاریخ و زمان فعلی خواهد بود.
- پارامترها
- lastBuildDate -- تاریخ تغییر.
- مقدار بازگشتی
- تاریخ تغییر بهصورت datetime.datetime
- link(link=None, replace=False, **kwargs)
- گرفتن یا
تنظیم
دادههای
پیوند (link). یک
عنصر پیوند
یک dict با
فیلدهای href،
rel، type، hreflang، title و length
است. فیلد href
برای ATOM
اجباری است.
این متد را میتوان به روشهای زیر فراخوانی کرد:
- فیلدهای یک پیوند بهصورت آرگومانهای کلیدواژهای
- فیلدهای یک پیوند بهصورت یک dictionary
- فهرستی از dictionaryهای حاوی فیلدهای پیوند
یک پیوند دارای فیلدهای زیر است:
- href نشانی URI منبع ارجاعدادهشده است (معمولاً یک صفحه وب)
- rel شامل یک نوع رابطه پیوند تکی است. این فیلد میتواند یک URI کامل باشد، یا یکی از مقادیر از پیش تعریفشدهٔ زیر (پیشفرض=alternate):
- alternate بازنمایی جایگزینی از ورودی (entry) یا فید، برای مثال یک پیوند یکتا به نسخهٔ html ورودی، یا صفحه اصلی وبلاگ.
- enclosure یک منبع مرتبط که احتمالاً حجم بالایی دارد و ممکن است نیازمند رسیدگی ویژهای باشد، برای مثال یک فایل ضبطشدهٔ صوتی یا تصویری.
- related یک سند مرتبط با ورودی یا فید.
- self خود فید.
- via منبع اطلاعات ارائهشده در ورودی.
- type نوع رسانه (media type) منبع را مشخص میکند.
- hreflang زبان منبع ارجاعدادهشده را مشخص میکند.
- title اطلاعات خوانا برای انسان درباره پیوند، معمولاً برای اهداف نمایشی.
- length طول منبع، بر حسب بایت.
فرمت RSS تنها از یک پیوند و فقط با URL پشتیبانی میکند.
- پارامترها
- link -- شیء Dict یا فهرستی از dictها همراه با داده.
- replace -- اینکه آیا پیوندهای قدیمی جایگزین شوند یا خیر (پیشفرض: False)
- مقدار بازگشتی
- مجموعه دادههای فعلی پیوند
مثال:
>>> feedgen.link( href='http://example.com/', rel='self')
[{'href':'http://example.com/', 'rel':'self'}]
- load_extension(name, atom=True, rss=True)
- بارگذاری یک افزونه مشخص بر اساس نام.
- پارامترها
- name -- نام افزونه برای بارگذاری.
- atom -- اینکه آیا افزونه باید برای فیدهای ATOM استفاده شود یا خیر.
- rss -- اینکه آیا افزونه باید برای فیدهای RSS استفاده شود یا خیر.
- logo(logo=None)
- دریافت یا تنظیم لوگوی فید، که تصویری بزرگتر جهت شناسایی بصری فید است. تصاویر باید دارای عرضی دو برابر ارتفاعشان باشند. این یک مقدار ATOM است اما مقدار rss:image را نیز تنظیم خواهد کرد.
- پارامترها
- logo -- لوگوی فید.
- مقدار بازگشتی
- لوگوی فید.
- managingEditor(managingEditor=None)
- تنظیم یا دریافت مقدار managingEditor که نشانی رایانامه فرد مسئول محتوای ویراستاری است. این یک مقدار منحصراً RSS است.
- پارامترها
- managingEditor -- نشانی رایانامه مدیر ویراستاری.
- مقدار بازگشتی
- نشانی رایانامه مدیر ویراستاری.
- pubDate(pubDate=None)
- تنظیم یا
دریافت
تاریخ
انتشار
برای
محتوای
درون کانال.
برای مثال،
New York Times به صورت
روزانه
منتشر
میشود و
تاریخ
انتشار آن
هر ۲۴ ساعت
یکبار
دگرگون
میگردد. در
این هنگام
است که pubDate
کانال
تغییر
میکند.
این مقدار میتواند یک رشته باشد که به طور خودکار تجزیه خواهد شد یا یک شیء datetime.datetime. در هر حالت ضروری است که این مقدار شامل اطلاعات منطقه زمانی باشد.
این متد هر دو مقدار atom:updated و rss:lastBuildDate را تنظیم خواهد کرد.
- پارامترها
- pubDate -- تاریخ انتشار.
- مقدار بازگشتی
- تاریخ انتشار به صورت datetime.datetime
- rating(rating=None)
- تنظیم و دریافت رتبهبندی PICS برای کانال. این یک مقدار منحصراً RSS است.
- register_extension(namespace, extension_class_feed=None, extension_class_entry=None, atom=True, rss=True)
- یک افزونه را بر اساس کلاس ثبت میکند.
- پارامترها
- namespace -- فضای نام برای افزونه
- extension_class_feed -- کلاس افزونه فید برای بارگذاری.
- extension_class_entry -- کلاس افزونه مدخل (entry) برای بارگذاری
- atom -- اینکه آیا افزونه باید برای فیدهای ATOM استفاده شود یا خیر.
- rss -- اینکه آیا افزونه باید برای فیدهای RSS استفاده شود یا خیر.
- remove_entry(entry)
- حذف یک مدخل از فید. این متد هم شیء FeedEntry برای حذف و هم اندیس مدخل را به عنوان آرگومان میپذیرد.
- پارامترها
- entry -- مدخل یا اندیس مدخل برای حذف.
- remove_item(item)
- حذف یک آیتم از فید. این نام دیگری برای remove_entry است.
- rights(rights=None)
- دریافت یا تنظیم مقدار حقوق فید که اطلاعات مربوط به حقوق، مانند حق نشر (copyright)، متعلق به فید و ناظر بر آن را بیان میکند. این مقدار ATOM همچنین rss:copyright را تنظیم خواهد کرد.
- پارامترها
- rights -- اطلاعات حقوق فید.
- rss_file(filename, extensions=True, pretty=False, encoding='UTF-8', xml_declaration=True)
- یک فید RSS تولید کرده و XML حاصل را در یک فایل مینویسد.
- پارامترها
- filename -- نام فایل برای نوشتن، یا یک شیء شبهفایل یا یک نشانی وب.
- extensions -- فعال یا غیرفعال کردن افزونههای بارگذاریشده برای تولید XML (پیشفرض: فعال).
- pretty -- اینکه آیا فید باید به چندین خط تقسیم شده و تورفتگی مناسب داشته باشد یا خیر.
- encoding -- رمزگذاری استفادهشده در فایل XML (پیشفرض: UTF-8).
- xml_declaration -- اینکه آیا اعلان XML باید به خروجی افزوده شود یا خیر (پیشفرض: فعال).
- rss_str(pretty=False, extensions=True, encoding='UTF-8', xml_declaration=True)
- یک فید RSS تولید کرده و XML فید را به صورت رشته بازمیگرداند.
- پارامترها
- pretty -- اینکه آیا فید باید به چندین خط تقسیم شده و تورفتگی مناسب داشته باشد یا خیر.
- extensions -- فعال یا غیرفعال کردن افزونههای بارگذاریشده برای تولید XML (پیشفرض: فعال).
- encoding -- رمزگذاری استفادهشده در فایل XML (پیشفرض: UTF-8).
- xml_declaration -- اینکه آیا اعلان XML باید به خروجی افزوده شود یا خیر (پیشفرض: فعال).
- مقدار بازگشتی
- نمایش رشتهای فید RSS. نوع بازگشتی: نوع بازگشتی ممکن است بین نسخههای مختلف Python و پارامترهای کدگذاری (encoding) ارسالشده به این متد متفاوت باشد. برای جزئیات، نگاهی به مستندات lxml بیندازید https://docs.python.org/3/library/xml.etree.elementtree.html#xml.etree.ElementTree.tostring
- skipDays(days=None, replace=False)
- تنظیم یا
دریافت
مقدار skipDays،
راهنمایی
برای
گردآورندهها
(aggregators) که مشخص
میکند چه
روزهایی را
میتوانند
نادیده
بگیرند. این
مقدار فقط
مخصوص RSS است.
این متد میتواند با نام یک روز یا فهرستی از نامهای روزها فراخوانی شود. روزها بهصورت رشتههایی از 'Monday' تا 'Sunday' مشخص میشوند.
- پارامترها
- hours -- فهرستی از روزهایی که خبرخوانها نباید خوراک را بررسی کنند.
- replace -- افزودن یا جایگزینی دادههای قدیمی.
- مقادیر بازگشتی
- فهرستی از روزهایی که خبرخوانها نباید خوراک را بررسی کنند.
- skipHours(hours=None, replace=False)
- تنظیم یا
دریافت
مقدار skipHours،
راهنمایی
برای
گردآورندهها
که مشخص
میکند چه
ساعتهایی
را
میتوانند
نادیده
بگیرند. این
مقدار فقط
مخصوص RSS است.
این متد میتواند با یک ساعت یا فهرستی از ساعتها فراخوانی شود. ساعتها بهصورت مقادیر عدد صحیح از 0 تا 23 مشخص میشوند.
- پارامترها
- hours -- فهرستی از ساعتهایی که خبرخوانها نباید خوراک را بررسی کنند.
- replace -- افزودن یا جایگزینی دادههای قدیمی.
- مقادیر بازگشتی
- فهرستی از ساعتهایی که خبرخوانها نباید خوراک را بررسی کنند.
- subtitle(subtitle=None)
- دریافت یا تنظیم مقدار subtitle کانال که شامل توضیحات یا زیرعنوانی خوانا برای انسان برای خوراک است. این ویژگی ATOM همچنین مقدار rss:description را تنظیم خواهد کرد.
- پارامترها
- subtitle -- زیرعنوان خوراک.
- مقادیر بازگشتی
- زیرعنوان خوراک.
- textInput(title=None, description=None, name=None, link=None)
- دریافت یا تنظیم مقدار textInput. این یک فیلد فقط مخصوص RSS است. هدف از عنصر <textInput> تا حدودی رمزآلود است. میتوانید از آن برای مشخص کردن یک جعبه موتور جستجو استفاده کنید، یا برای اینکه به خواننده امکان ارائه بازخورد داده شود. بیشتر گردآورندهها آن را نادیده میگیرند.
- پارامترها
- title -- برچسب دکمه Submit در ناحیه ورودی متن.
- description -- ناحیه ورودی متن را توضیح میدهد.
- name -- نام شیء متنی در ناحیه ورودی متن.
- link -- نشانی URL مربوط به CGI script که درخواستهای ورودی متن را پردازش میکند.
- مقادیر بازگشتی
- دیکشنری شامل مقادیر textInput.
- title(title=None)
- دریافت یا تنظیم مقدار عنوان (title) خوراک. این مقدار باید حاوی عنوانی خوانا برای انسان برای خوراک باشد. معمولاً مشابه عنوان وبسایت مربوطه است. عنوان هم برای ATOM و هم RSS اجباری است و نباید خالی باشد.
- پارامترها
- title -- عنوان جدید خوراک.
- مقادیر بازگشتی
- عنوان خوراک.
- ttl(ttl=None)
- دریافت یا تنظیم مقدار ttl. این یک عنصر فقط مخصوص RSS است. ttl مخفف time to live است. این مقدار، تعداد دقیقههایی است که مشخص میکند یک کانال پیش از بازخوانی مجدد از منبع، تا چه مدت میتواند در حافظه نهان (کَش) قرار گیرد.
- پارامترها
- ttl -- مقدار عدد صحیحی که نشان میدهد کانال چه مدت میتواند در حافظه نهان قرار گیرد.
- مقادیر بازگشتی
- طول عمر (Time to live).
- updated(updated=None)
- تنظیم یا
دریافت
مقدار updated که
آخرین زمان
تغییر
اساسی در
خوراک را
مشخص
میکند.
این مقدار میتواند یک رشته باشد که بهطور خودکار تجزیه میشود یا یک شیء datetime.datetime باشد. در هر صورت لازم است که این مقدار شامل اطلاعات منطقه زمانی (timezone) باشد.
این مقدار هر دو ویژگی atom:updated و rss:lastBuildDate را تنظیم خواهد کرد.
- مقدار پیشفرض
- در صورت عدم تنظیم، مقدار updated برابر با تاریخ و زمان جاری است.
- پارامترها
- updated -- تاریخ تغییر.
- مقادیر بازگشتی
- تاریخ تغییر بهصورت datetime.datetime
- webMaster(webMaster=None)
- دریافت و تنظیم مقدار webMaster، که نشاندهنده نشانی ایمیل فرد مسئول مسائل فنی مربوط به خوراک است. این مقدار فقط مخصوص RSS است.
- پارامترها
- webMaster -- نشانی ایمیل webmaster.
- مقادیر بازگشتی
- نشانی ایمیل webmaster.
- class feedgen.entry.FeedEntry
- فراخوانی FeedEntry که بیانگر یک گره مدخل (entry) در فیدهای ATOM یا یک گره آیتم (item) در فیدهای RSS است.
- atom_entry(extensions=True)
- یک مدخل ATOM ایجاد کرده و آن را بازمیگرداند.
- دریافت یا
تنظیم
دادههای
نویسنده (author).
یک عنصر
نویسنده یک
dict حاوی name، یک
نشانی email و یک
uri است. فیلد name
برای ATOM و email
برای RSS
الزامی است.
این متد میتواند به صورتهای زیر فراخوانی شود: - فیلدهای نویسنده به عنوان آرگومانهای کلیدواژهای (keyword arguments) - فیلدهای نویسنده به صورت یک دیکشنری - فهرستی از دیکشنریهای حاوی فیلدهای نویسنده
یک نویسنده دارای فیلدهای زیر است: - name نام خوانا برای انسانِ فرد را مشخص میکند. - uri حاوی صفحهٔ اصلی فرد است. - email حاوی یک نشانی ایمیل برای فرد است.
- پارامترها (Parameters)
- author -- دیکشنری یا فهرستی از دیکشنریها با دادههای نویسنده.
- replace -- افزودن یا جایگزینی دادههای پیشین.
مثال:
>>> author({'name':'John Doe', 'email':'jdoe@example.com'})
[{'name':'John Doe','email':'jdoe@example.com'}]
>>> author([{'name': 'Mr. X'}, {'name': 'Max'}])
[{'name':'John Doe','email':'jdoe@example.com'},
{'name':'John Doe'}, {'name':'Max'}]
>>> author(name='John Doe', email='jdoe@example.com', replace=True)
[{'name':'John Doe','email':'jdoe@example.com'}]
- category(category=None, replace=False, **kwargs)
- دریافت یا
تنظیم
دستهبندیهایی
که مدخل به
آنها تعلق
دارد.
این متد میتواند به صورتهای زیر فراخوانی شود: - فیلدهای یک دستهبندی به عنوان آرگومانهای کلیدواژهای - فیلدهای یک دستهبندی به صورت یک دیکشنری - فهرستی از دیکشنریهای حاوی فیلدهای دستهبندی
یک دستهبندی دارای فیلدهای زیر است: - term دستهبندی را مشخص میکند. - scheme طرح دستهبندی را از طریق یک URI مشخص میکند. - label برچسبی خوانا برای انسان جهت نمایش ارائه میدهد.
اگر یک برچسب (label) موجود باشد، برای فیدهای RSS استفاده میشود؛ در غیر این صورت، از term استفاده خواهد شد. از scheme برای مشخصه domain در RSS استفاده میشود.
- پارامترها (Parameters)
- category -- دیکشنری یا فهرستی از دیکشنریها حاوی دادهها.
- replace -- افزودن یا جایگزینی دادههای پیشین.
- بازگشتیها (Returns)
- فهرستی از دادههای دستهبندی.
- comments(comments=None)
- دریافت یا تنظیم مقدار comments که نشانی URL صفحهٔ نظرات برای آیتم است. این مقدار تنها مختص RSS است.
- پارامترها (Parameters)
- comments -- نشانی URL به صفحهٔ نظرات.
- بازگشتیها (Returns)
- نشانی URL به صفحهٔ نظرات.
- content(content=None, src=None, type=None)
- دریافت یا تنظیم محتوای مدخل که شامل محتوای کامل مدخل است یا به آن پیوند میدهد. اگر پیوند جایگزینی وجود نداشته باشد، باید برای مدخلهای ATOM محتوا ارائه شود، و در صورتی که خلاصهای موجود نباشد نیز بهتر است ارائه گردد. اگر محتوا تنظیم شود (نه پیوند داده شود)، مقدار rss:description را نیز تنظیم خواهد کرد.
- پارامترها (Parameters)
- content -- محتوای مدخل فید.
- src -- پیوند به محتوای مدخلها.
- type -- اگر type برابر با CDATA باشد، محتوا گریز (escape) داده نخواهد شد.
- بازگشتیها (Returns)
- عنصر محتوای (Content) مدخل.
- contributor(contributor=None, replace=False, **kwargs)
- دریافت یا
تنظیم
دادههای
مشارکتکننده
(contributor) در فید.
این مقدار
تنها مختص ATOM
است.
این متد میتواند به صورتهای زیر فراخوانی شود: - فیلدهای یک مشارکتکننده به عنوان آرگومانهای کلیدواژهای - فیلدهای یک مشارکتکننده به صورت یک دیکشنری - فهرستی از دیکشنریهای حاوی فیلدهای مشارکتکننده
یک مشارکتکننده دارای فیلدهای زیر است: - name نام خوانا برای انسانِ فرد را مشخص میکند. - uri حاوی صفحهٔ اصلی فرد است. - email حاوی یک نشانی ایمیل برای فرد است.
- پارامترها (Parameters)
- contributor -- دیکشنری یا فهرستی از دیکشنریها با دادههای مشارکتکننده.
- replace -- افزودن یا جایگزینی دادههای پیشین.
- بازگشتیها (Returns)
- فهرستی از مشارکتکنندگان به صورت دیکشنری.
- description(description=None, isSummary=False)
- دریافت یا تنظیم مقدار description که خلاصهٔ آیتم است. عنصر description تنها مختص RSS است. برای فیدهای ATOM به دو بخش summary و content تقسیم میشود. پارامتر isSummary میتواند برای کنترل اینکه هنگام تنظیم description کدام مقدار ATOM تعیین شود، استفاده گردد.
- پارامترها (Parameters)
- description -- توضیحات مدخل.
- isSummary -- مشخص میکند که توضیحات باید به عنوان content استفاده شود یا summary. مقادیر بازگشتی توضیحات مدخل.
- enclosure(url=None, length=None, type=None)
- گرفتن یا تنظیم مقدار enclosure که یک شیء رسانهای ضمیمهشده به آیتم را توصیف میکند. این مقدار صرفاً مخصوص RSS است که در ATOM با link(rel=enclosure) نمایش داده میشود. افزون بر این، فیدهای ATOM میتوانند شامل چندین enclosure باشند در حالی که RSS تنها میتواند شامل یک مورد باشد. به همین دلیل اگر این متد چندین بار فراخوانی شود، بیش از یک enclosure به فید اضافه خواهد کرد. با این حال، فقط آخرین مورد برای RSS استفاده میشود.
- پارامترها
- url -- نشانی اینترنتی (URL) شیء رسانهای.
- length -- اندازهٔ رسانه به بایت.
- type -- نوع رسانهای (Mimetype) مربوط به رسانهٔ پیوند دادهشده.
- مقادیر بازگشتی
- دادههای عنصر enclosure.
- guid(guid=None, permalink=False)
- گرفتن یا تنظیم guid مدخل، که رشتهای برای شناسایی منحصربهفرد این آیتم است. این کار atom:id را نیز تنظیم خواهد کرد.
- پارامترها
- guid -- شناسهٔ (Id) مدخل.
- permalink -- مشخص میکند که آیا این شناسه، یک شناسهٔ دائمی برای این آیتم است یا خیر.
- مقادیر بازگشتی
- شناسه و تنظیمات permalink مدخل.
- id(id=None)
- گرفتن یا تنظیم شناسهٔ (id) مدخل که مدخل را با استفاده از یک URI منحصربهفرد سراسری و دائمی شناسایی میکند. دو مدخل در یک فید میتوانند مقدار یکسانی برای id داشته باشند اگر نشاندهندهٔ همان مدخل در نقاط زمانی متفاوتی باشند. این متد همچنین rss:guid را با قرار دادن permalink روی False تنظیم میکند. مقدار Id برای یک مدخل ATOM اجباری است.
- پارامترها
- id -- شناسهٔ (Id) جدید مدخل.
- مقادیر بازگشتی
- شناسهٔ (Id) مدخل.
- link(link=None, replace=False, **kwargs)
- گرفتن یا
تنظیم
دادههای
پیوند (link). یک
عنصر پیوند
یک dict با
فیلدهای href،
rel، type، hreflang، title و length
است. فیلد Href
برای ATOM
اجباری است.
این متد میتواند به صورتهای زیر فراخوانی شود: - فیلدهای یک پیوند به عنوان آرگومانهای کلیدواژهای - فیلدهای یک پیوند به شکل یک دیکشنری - فهرستی از دیکشنریهای حاوی فیلدهای پیوند
یک پیوند دارای فیلدهای زیر است:
- href شناسهٔ منبع یکنواخت (URI) منبع ارجاعدادهشده است (معمولاً یک صفحهٔ وب).
- rel شامل یک نوع رابطهٔ پیوند تکی است. میتواند یک URI کامل یا یکی از مقادیر از پیشتعریفشدهٔ زیر باشد (پیشفرض=alternate):
- alternate یک نمایش جایگزین از مدخل یا فید، برای نمونه یک permalink به نسخهٔ html مدخل یا صفحهٔ نخست وبلاگ.
- enclosure یک منبع مرتبط که احتمالاً حجم بالایی دارد و ممکن است نیازمند رفتار ویژهای باشد، به عنوان مثال یک فایل صوتی یا ویدیویی ضبطشده.
- related سندی که مرتبط با مدخل یا فید است.
- self خود فید.
- via منبع اطلاعات ارائهشده در مدخل.
- type مشخصکنندهٔ نوع رسانهٔ (media type) منبع است.
- hreflang مشخصکنندهٔ زبان منبع ارجاعدادهشده است.
- title اطلاعات خوانا برای انسان دربارهٔ پیوند، معمولاً با هدف نمایش دادن.
- length طول منبع، به بایت.
قالب RSS فقط از یک پیوند پشتیبانی میکند که چیزی جز یک URL ندارد. بنابراین برای عنصر پیوند در RSS، آخرین پیوند دارای rel=alternate استفاده میشود.
قالب RSS همچنین در هر مدخل فقط از یک عنصر enclosure پشتیبانی میکند که در مدخلهای فید ATOM توسط عنصر link پوشش داده میشود. بنابراین برای عنصر enclosure در RSS، آخرین پیوند دارای rel=enclosure استفاده میشود.
- پارامترها
- link -- دیکشنری یا فهرستی از دیکشنریهای حاوی داده.
- replace -- افزودن به دادههای قبلی یا جایگزینی آنها.
- مقادیر بازگشتی
- فهرستی از دادههای پیوند.
- load_extension(name, atom=True, rss=True)
- بارگذاری یک افزونهٔ خاص بر اساس نام آن.
- پارامترها
- name -- نام افزونهای که باید بارگذاری شود.
- atom -- این که آیا افزونه باید برای فیدهای ATOM استفاده شود یا خیر.
- rss -- این که آیا افزونه باید برای فیدهای RSS استفاده شود یا خیر.
- pubDate(pubDate=None)
- گرفتن یا تنظیم pubDate مربوط به مدخل که زمان انتشار مدخل را مشخص میکند. این متد تنها نام دیگری برای متد published(...) است.
- pubdate(pubDate=None)
- گرفتن یا
تنظیم pubDate
مربوط به
مدخل که
زمان
انتشار
مدخل را
مشخص
میکند. این
متد تنها
نام دیگری
برای متد published(...)
است.
متد pubdate(…) منسوخ شده است و ممکن است در feedgen ≥ 0.8 حذف شود. به جای آن از pubDate(…) استفاده کنید.
- published(published=None)
- تنظیم یا
گرفتن
مقدار published که
حاوی زمان
ایجاد
اولیه یا
نخستین
دردسترسبودن
مدخل است.
این مقدار میتواند یک رشته باشد که به طور خودکار تجزیه میشود، یا یک شیء datetime.datetime باشد. در هر حالت ضروری است که مقدار شامل اطلاعات منطقه زمانی (timezone) باشد.
- بازگشتی
- تاریخ ایجاد بهصورت datetime.datetime
- register_extension(namespace, extension_class_entry=None, atom=True, rss=True)
- ثبت یک افزونهٔ خاص از طریق کلاسها در یک namespace.
- پارامترها
- namespace -- فضای نام (namespace) برای افزونه
- extension_class_entry -- کلاس افزونهٔ مدخل جهت بارگذاری.
- atom -- اینکه آیا افزونه باید برای فیدهای ATOM استفاده شود یا خیر.
- rss -- اینکه آیا افزونه باید برای فیدهای RSS استفاده شود یا خیر.
- rights(rights=None)
- دریافت یا تنظیم مقدار حقوق (rights) مدخل که اطلاعات مربوط به حقوق، مثلاً حق نشر (copyrights) را دربارهٔ مدخل انتقال میدهد. این مقدار ATOM همچنین rss:copyright را تنظیم خواهد کرد.
- پارامترها
- rights -- اطلاعات حقوق فید.
- بازگشتی
- اطلاعات حقوق فید.
- rss_entry(extensions=True)
- ایجاد یک آیتم RSS و بازگرداندن آن.
- source(url=None, title=None)
- دریافت یا
تنظیم منبع
(source) برای مدخل
فعلی فید.
توجه داشته باشید که فیدهای ATOM از زیرعناصر بسیار بیشتری نسبت به title و URL (که مورد پشتیبانی RSS است) پشتیبانی میکنند، اما این موارد در حال حاضر پشتیبانی نمیشوند. از ارسال وصلهها (patches) استقبال میشود.
- پارامترها
- url -- پیوند به منبع.
- title -- عنوان منبع پیوند دادهشده
- بازگشتی
- عنصر منبع بهصورت دیکشنری.
- summary(summary=None, type=None)
- دریافت یا تنظیم عنصر خلاصهسازی (summary) یک مدخل که بیانگر خلاصه، چکیده یا بخشی کوتاه از مدخل است. summary عنصری مختص به ATOM است و باید در صورتی ارائه شود که هیچ محتوایی برای مدخل تعیین نشده باشد، یا محتوا بهصورت درونخطی نباشد (یعنی حاوی مشخصهٔ src باشد)، یا محتوا در قالب base64 کدگذاری شده باشد. این متد همچنین فیلد rss:description را در صورتی که پیشتر تنظیم نشده باشد یا حاوی مقدار پیشین summary باشد، تنظیم میکند.
- پارامترها
- summary -- خلاصهٔ محتویات مدخل.
- بازگشتی
- خلاصهٔ محتویات مدخل.
- title(title=None)
- دریافت یا تنظیم مقدار عنوان (title) مدخل. این مقدار باید حاوی عنوانی قابل خواندن برای انسان باشد. عنوان برای هر دو استاندارد ATOM و RSS الزامی است و نباید خالی باشد.
- پارامترها
- title -- عنوان جدید مدخل.
- بازگشتی
- عنوان مدخل.
- ttl(ttl=None)
- دریافت یا تنظیم مقدار ttl. این عنصر مختص RSS است. کلمهٔ ttl مخفف time to live است و نشاندهندهٔ تعداد دقایقی است که یک کانال پیش از تازهسازی از منبع، میتواند در حافظهٔ موقت (کَش) بماند.
- پارامترها
- ttl -- مقدار عدد صحیحی که نشاندهندهٔ time to live است.
- بازگشتی
- مقدار time to live مدخل.
- updated(updated=None)
- تنظیم یا
دریافت
مقدار updated که
نشاندهندهٔ
آخرین
زمانی است
که مدخل
دچار تغییر
مهمی شده
است.
این مقدار میتواند یک رشته باشد که بهطور خودکار تجزیه میشود، یا یک شیء datetime.datetime. در هر صورت ضروری است که مقدار شامل اطلاعات منطقهٔ زمانی (timezone) باشد.
- پارامترها
- updated -- تاریخ تغییر.
- بازگشتی
- تاریخ تغییر بهصورت datetime.datetime
این فایل حاوی توابع کمکی برای ماژول تولید فید (feed generator) است.
- کپیرایت
- 2013, Lars Kiesow <<lkiesow@uos.de>>
- مجوز
- FreeBSD و LGPL، برای جزئیات بیشتر به license.* مراجعه کنید.
- feedgen.util.ensure_format(val, allowed, required, allowed_values=None, defaults=None)
- یک دیکشنری یا فهرستی از دیکشنریها را دریافت کرده و بررسی میکند که آیا تمام کلیدها در مجموعهی کلیدهای مجاز هستند، آیا تمام کلیدهای الزامی حضور دارند و آیا مقادیر یک کلید خاص معتبر هستند یا خیر.
- پارامترها
- val -- دیکشنریها جهت بررسی.
- allowed -- مجموعهی کلیدهای مجاز.
- required -- مجموعهی کلیدهای الزامی.
- allowed_values -- دیکشنری شامل کلیدها و مجموعهی مقادیر مجاز آنها.
- defaults -- دیکشنری شامل مقادیر پیشفرض.
- مقادیر بازگشتی
- فهرستی از دیکشنریهای بررسیشده.
- feedgen.util.formatRFC2822(date)
- اطمینان حاصل میکند که تنظیمات محلیسازی (locale) با قالب زمانی تداخلی نداشته باشد.
feedgen.ext.base
افزونهی پایهای FeedGenerator که کاری جز ارائهی تمام متدهای لازم انجام نمیدهد.
- کپیرایت
- 2013, Lars Kiesow <<lkiesow@uos.de>>
- مجوز
- FreeBSD و LGPL، برای جزئیات بیشتر به license.* مراجعه کنید.
- class feedgen.ext.base.BaseEntryExtension
- افزونهی پایهای FeedEntry.
- class feedgen.ext.base.BaseExtension
- افزونهی پایهای FeedGenerator.
- extend_atom(feed)
- گسترش ساختار xml فید ATOM شامل تمامی فیلدهای از پیش تعیینشده.
- پارامترها
- feed -- عنصر ریشهی xml فید.
- مقادیر بازگشتی
- عنصر ریشهی فید.
- extend_ns()
- یک dict بازمیگرداند که در نگاشت فضای نام (namespace map) برای فید استفاده خواهد شد.
- extend_rss(feed)
- گسترش ساختار xml فید RSS شامل تمامی فیلدهای از پیش تعیینشده.
- پارامترها
- feed -- عنصر ریشهی xml فید.
- مقادیر بازگشتی
- عنصر ریشهی فید.
کلاس FeedGenerator را برای افزودن عناصر Dublin Core به فیدها گسترش میدهد.
توضیحات تا حدی برگرفته از http://dublincore.org/documents/dcmi-terms/#elements-coverage
- کپیرایت
- 2013-2017, Lars Kiesow <<lkiesow@uos.de>>
- مجوز
- FreeBSD و LGPL، برای جزئیات بیشتر به *license مراجعه کنید.
- class feedgen.ext.dc.DcBaseExtension
- افزونهٔ عناصر Dublin Core برای پادکستها.
- dc_contributor(contributor=None, replace=False)
- دریافت یا
مقداردهی
dc:contributor که نهاد
مسئول
مشارکت در
منبع است.
برای اطلاعات بیشتر ببینید: http://dublincore.org/documents/dcmi-terms/#elements-contributor
- پارامترها
- contributor -- مشارکتکننده یا فهرستی از مشارکتکنندگان.
- replace -- جایگزینی مشارکتکنندگانِ از پیش تنظیمشده (پیشفرض: False).
- مقادیر بازگشتی
- فهرست مشارکتکنندگان.
- dc_coverage(coverage=None, replace=True)
- دریافت یا
مقداردهی
dc:coverage که
بیانگر
موضوع
مکانی یا
زمانی
منبع،
کاربردپذیری
مکانی
منبع، یا
حوزهٔ
صلاحیتی
است که منبع
ذیل آن
ارتباط
پیدا
میکند.
موضوع مکانی و کاربردپذیری مکانی میتواند یک مکان نامگذاریشده یا موقعیتی مشخصشده بر اساس مختصات جغرافیایی آن باشد. موضوع زمانی میتواند یک دوره، تاریخ یا بازهٔ زمانی نامگذاریشده باشد. حوزهٔ صلاحیت میتواند یک نهاد اداری نامگذاریشده یا مکانی جغرافیایی باشد که منبع بر آن اعمال میشود. بهترین شیوهٔ توصیهشده، استفاده از یک واژگان مهارشده نظیر Thesaurus of Geographic Names [TGN] است. در صورت امکان، نام بردن از مکانها یا دورههای زمانی بر شناسههای عددی همچون مجموعهای از مختصات یا بازههای تاریخی ارجحیت دارد.
مراجع: [TGN] http://www.getty.edu/research/tools/vocabulary/tgn/index.html
- پارامترها
- coverage -- پوشش (coverage) فید.
- replace -- جایگزینی پوشش از پیش تنظیمشده (پیشفرض: True).
- مقادیر بازگشتی
- پوشش فید.
- dc_creator(creator=None, replace=False)
- دریافت یا
مقداردهی
dc:creator که نهادِ
دارای
مسئولیت
اصلی در
ساخت منبع
است.
برای اطلاعات بیشتر ببینید: http://dublincore.org/documents/dcmi-terms/#elements-creator
- پارامترها
- creator -- سازنده یا فهرستی از سازندگان.
- replace -- جایگزینی سازندگانِ از پیش تنظیمشده (پیشفرض: False).
- مقادیر بازگشتی
- فهرست سازندگان.
- dc_date(date=None, replace=True)
- دریافت یا
مقداردهی dc:date
که نقطه یا
دورهای از
زمان مرتبط
با یک
رویداد در
چرخهٔ حیات
منبع را
توصیف
میکند.
برای اطلاعات بیشتر ببینید: http://dublincore.org/documents/dcmi-terms/#elements-date
- پارامترها
- date -- تاریخ یا فهرستی از تاریخها.
- replace -- جایگزینی تاریخهای از پیش تنظیمشده (پیشفرض: True).
- مقادیر بازگشتی
- فهرست تاریخها.
- dc_description(description=None, replace=True)
- دریافت یا
مقداردهی
dc:description که شرح و
گزارشی از
منبع است.
برای اطلاعات بیشتر ببینید: http://dublincore.org/documents/dcmi-terms/#elements-description
- پارامترها
- description -- شرح یا فهرستی از شرحها.
- replace -- جایگزینی شرحهای از پیش تنظیمشده (پیشفرض: True).
- مقادیر بازگشتی
- فهرست شرحها.
- dc_format(format=None, replace=True)
- دریافت یا
مقداردهی dc:format
که قالب
پرونده،
رسانهٔ
فیزیکی یا
ابعاد منبع
را توصیف
میکند.
برای اطلاعات بیشتر ببینید: http://dublincore.org/documents/dcmi-terms/#elements-format
- پارامترها
- format -- قالب منبع یا فهرستی از قالبها.
- replace -- جایگزینی قالب از پیش تنظیمشده (پیشفرض: True).
- مقادیر بازگشتی
- قالب منبع.
- dc_identifier(identifier=None, replace=True)
- دریافت یا
مقداردهی
dc:identifier که باید
یک ارجاع
غیرمبهم و
یکتا به
منبع در یک
بافتار
مشخص باشد.
برای اطلاعات بیشتر ببینید: http://dublincore.org/documents/dcmi-terms/#elements-identifier
- پارامترها
- identifier -- شناسهٔ منبع یا فهرستی از شناسهها.
- replace -- جایگزینی شناسهٔ از پیش تنظیمشده (پیشفرض: True).
- مقادیر بازگشتی
- شناسههای منبع.
برای اطلاعات بیشتر ببینید: http://dublincore.org/documents/dcmi-terms/#elements-language
- پارامترها
- language -- زبان یا فهرستی از زبانها.
- replace -- جایگزینی زبانهای از پیش تنظیمشده (پیشفرض: True).
- مقادیر بازگشتی
- فهرست زبانها.
- dc_publisher(publisher=None, replace=False)
- دریافت یا
تنظیم dc:publisher که
نهاد مسئول
در دسترس
قرار دادن
منبع است.
برای اطلاعات بیشتر ببینید: http://dublincore.org/documents/dcmi-terms/#elements-publisher
- پارامترها
- publisher -- ناشر یا فهرستی از ناشران.
- replace -- جایگزینی ناشران از پیش تنظیمشده (پیشفرض: False).
- مقادیر بازگشتی
- فهرست ناشران.
- dc_relation(relation=None, replace=False)
- دریافت یا
تنظیم dc:relation که
یک منبع
مرتبط را
توصیف
میکند.
برای اطلاعات بیشتر ببینید: http://dublincore.org/documents/dcmi-terms/#elements-relation
- پارامترها
- relation -- رابطه یا فهرستی از رابطهها.
- replace -- جایگزینی رابطههای از پیش تنظیمشده (پیشفرض: False).
- مقادیر بازگشتی
- فهرست رابطهها.
- dc_rights(rights=None, replace=False)
- دریافت یا
تنظیم dc:rights که
ممکن است
شامل
اطلاعاتی
دربارهٔ
حقوق مرتبط
با منبع و
مالکیت آن
باشد.
برای اطلاعات بیشتر ببینید: http://dublincore.org/documents/dcmi-terms/#elements-rights
- پارامترها
- rights -- اطلاعات حقوق یا فهرستی از اطلاعات حقوق.
- replace -- جایگزینی حقوق از پیش تنظیمشده (پیشفرض: False).
- مقادیر بازگشتی
- فهرست اطلاعات حقوق.
- dc_source(source=None, replace=False)
- دریافت یا
تنظیم dc:source که
منبع
مرتبطی است
که منبع
توصیفشده
از آن مشتق
شده است.
منبع توصیفشده ممکن است بهطور کامل یا جزئی از منبع مرتبط مشتق شده باشد. بهترین شیوهٔ توصیهشده، شناسایی منبع مرتبط با استفاده از یک رشتهٔ منطبق بر یک سامانهٔ شناسایی رسمی است.
برای اطلاعات بیشتر ببینید: http://dublincore.org/documents/dcmi-terms/#elements-source
- پارامترها
- source -- منبع یا فهرستی از منابع.
- replace -- جایگزینی منابع از پیش تنظیمشده (پیشفرض: False).
- مقادیر بازگشتی
- فهرست منابع.
- dc_subject(subject=None, replace=False)
- دریافت یا
تنظیم dc:subject که
موضوع منبع
را توصیف
میکند.
برای اطلاعات بیشتر ببینید: http://dublincore.org/documents/dcmi-terms/#elements-subject
- پارامترها
- subject -- موضوع یا فهرستی از موضوعها.
- replace -- جایگزینی موضوعهای از پیش تنظیمشده (پیشفرض: False).
- مقادیر بازگشتی
- فهرست موضوعها.
- dc_title(title=None, replace=True)
- دریافت یا
تنظیم dc:title که
نام
اختصاصیافته
به منبع
است.
برای اطلاعات بیشتر ببینید: http://dublincore.org/documents/dcmi-terms/#elements-title
- پارامترها
- title -- عنوان یا فهرستی از عنوانها.
- replace -- جایگزینی عنوانهای از پیش تنظیمشده (پیشفرض: False).
- مقادیر بازگشتی
- فهرست عنوانها.
- dc_type(type=None, replace=False)
- دریافت یا
تنظیم dc:type که
ماهیت یا
گونهٔ منبع
را توصیف
میکند.
برای اطلاعات بیشتر ببینید: http://dublincore.org/documents/dcmi-terms/#elements-type
- پارامترها
- type -- نوع یا فهرستی از نوعها.
- replace -- جایگزینی نوعهای از پیش تنظیمشده (پیشفرض: False).
- مقادیر بازگشتی
- فهرست نوعها.
- extend_atom(atom_feed)
- گسترش یک فید Atom با فیلدهای DC تنظیمشده.
- بازگشتیها
- عنصر ریشه فید
- extend_ns()
- یک dict بازمیگرداند که در نگاشت فضاینام برای فید استفاده خواهد شد.
- extend_rss(rss_feed)
- گسترش یک فید RSS با فیلدهای تنظیمشده DC.
- پارامترها
- rss_feed -- عنصر ریشه فید
- بازگشتیها
- عنصر ریشه فید.
- class feedgen.ext.dc.DcEntryExtension
- افزونه عناصر Dublin Core برای پادکستها.
- extend_atom(entry)
- افزودن عناصر dc به یک آیتم atom. خود آیتم را تغییر میدهد.
- پارامترها
- entry -- یک عنصر entry در atom.
- بازگشتیها
- عنصر entry.
- extend_rss(item)
- افزودن عناصر dc به یک آیتم RSS. خود آیتم را تغییر میدهد.
- پارامترها
- item -- یک عنصر آیتم RSS.
- بازگشتیها
- عنصر آیتم.
- class feedgen.ext.dc.DcExtension
- افزونه عناصر Dublin Core برای پادکستها.
feedgen.ext.podcast
FeedGenerator را برای تولید پادکستها گسترش میدهد.
- کپیرایت
- 2013, Lars Kiesow <<lkiesow@uos.de>>
- مجوز
- FreeBSD و LGPL، برای جزئیات بیشتر license.* را ببینید.
- class feedgen.ext.podcast.PodcastExtension
- افزونه FeedGenerator برای پادکستها.
- extend_ns()
- یک dict بازمیگرداند که در نگاشت فضاینام برای فید استفاده خواهد شد.
- extend_rss(rss_feed)
- گسترش ریشه یک فید RSS با فیلدهای تنظیمشده itunes.
- بازگشتیها
- عنصر ریشه فید.
- دریافت یا تنظیم itunes:author. محتوای این برچسب در ستون Artist در iTunes نمایش داده میشود. اگر این برچسب موجود نباشد، iTunes از محتوای برچسب <author> استفاده میکند. اگر <itunes:author> در سطح فید موجود نباشد، iTunes از محتوای <managingEditor> استفاده خواهد کرد.
- پارامترها
- itunes_author -- نویسنده پادکست.
- بازگشتیها
- نویسنده پادکست.
- itunes_block(itunes_block=None)
- دریافت یا تنظیم مشخصه block در iTunes. از این برای جلوگیری از نمایش کل پادکست در فهرست پادکستهای iTunes استفاده کنید.
- پارامترها
- itunes_block -- مسدود کردن پادکست.
- بازگشتیها
- وضعیت مسدود بودن پادکست.
- itunes_category(itunes_category=None, replace=False, **kwargs)
- دریافت یا
تنظیم
دستهبندی
iTunes که در ستون
category و در
مرورگر iTunes Store
نمایش داده
میشود.
(زیر-)دستهبندی باید یکی از مقادیر تعریفشده در http://www.apple.com/itunes/podcasts/specs.html#categories باشد.
این متد میتواند با موارد زیر فراخوانی شود:
- فیلدهای یک itunes_category به صورت آرگومانهای کلیدواژهای
- فیلدهای یک itunes_category به صورت یک دیکشنری
- فهرستی از دیکشنریهای حاوی فیلدهای itunes_category
یک itunes_category فیلدهای زیر را دارد:
- cat نام یک دستهبندی.
- sub نام یک زیردستهبندی، فرزند دستهبندی
اگر یک پادکست بیش از یک زیردستهبندی از یک دستهبندی یکسان داشته باشد، دستهبندی بیش از یک بار فراخوانی میشود.
مانند پارامتر:
[{"cat":"Arts","sub":"Design"},{"cat":"Arts","sub":"Food"}]
<itunes:category text="Arts">
<itunes:category text="Design"/>
<itunes:category text="Food"/>
</itunes:category>
- پارامترها
- •
- itunes_category -- دیکشنری یا فهرستی از دیکشنریها با دادههای itunes_category..IP • 2 replace -- افزودن یا جایگزینی دادههای قدیمی.
- مقادیر بازگشتی
- فهرستی از itunes_categories به صورت دیکشنری.
---
نکته مهم درباره ساختار منسوخشده پارامتر: نسخه قدیمی feedgen تنها از یک دستهبندی بهعلاوه یک زیردستهبندی پشتیبانی میکرد که به عنوان دو پارامتر اول به این تابع منتقل میشدند. به دلایل سازگاری، این ساختار هنوز کار میکند اما نباید استفاده شود و ممکن است در هر زمانی حذف گردد.
- itunes_complete(itunes_complete=None)
- دریافت یا
تنظیم
مقدار itunes:complete
پادکست. این
برچسب
میتواند
برای نشان
دادن اتمام
یک پادکست
استفاده
شود.
اگر این برچسب را با "yes" مقداردهی کنید، نشان میدهید که قسمتهای دیگری به پادکست اضافه نخواهد شد. اگر برچسب <itunes:complete> وجود داشته باشد و هر مقدار دیگری داشته باشد (مثلاً “no”)، تأثیری بر پادکست نخواهد داشت.
- پارامترها
- itunes_complete -- مشخص میکند که آیا پادکست کامل شده است یا خیر.
- مقادیر بازگشتی
- مشخص میکند که آیا پادکست کامل شده است یا خیر.
- itunes_explicit(itunes_explicit=None)
- دریافت یا
تنظیم
مقدار itunes:explicit
پادکست. این
برچسب باید
برای مشخص
کردن
اینکه آیا
پادکست شما
حاوی
محتوای
صریح
(بزرگسالانه)
است یا خیر
استفاده
شود. سه
مقدار برای
این برچسب
عبارتند از
"yes"، "no" و "clean".
اگر این برچسب را با "yes" مقداردهی کنید، یک نشان گرافیکی هشدار والدین "explicit" در کنار تصویر پادکست شما در iTunes Store و در ستون Name در iTunes ظاهر میشود. اگر مقدار "clean" باشد، نوع هشدار والدین Clean در نظر گرفته میشود، به این معنی که هیچ زبان صریح یا محتوای بزرگسالانهای در هیچ کجای قسمتها گنجانده نشده است، و یک نشان گرافیکی "clean" ظاهر خواهد شد. اگر برچسب explicit وجود داشته باشد و هر مقدار دیگری داشته باشد (مثلاً "no")، هیچ نشانگری مشاهده نخواهید کرد — حالت خالی نوع هشدار پیشفرض است.
- پارامترها
- itunes_explicit -- مشخص میکند که آیا پادکست شامل محتوای صریح است یا خیر.
- مقادیر بازگشتی
- مشخص میکند که آیا پادکست شامل محتوای صریح است یا خیر.
- itunes_image(itunes_image=None)
- دریافت یا
تنظیم
تصویر
پادکست. این
برچسب
تصویر (artwork)
پادکست شما
را مشخص
میکند.
نشانی
اینترنتی (URL)
تصویر را در
مشخصه href
قرار دهید.
پلتفرم iTunes
تصاویر
مربعی .jpg که
حداقل 1400x1400
پیکسل
هستند را
ترجیح
میدهد، که
با مشخصات
تعیینشده
برای برچسب
تصویر
استاندارد
RSS متفاوت
است. برای
اینکه
پادکست
واجد شرایط
قرار گرفتن
در بخش ویژه
iTunes Store باشد،
تصویر
همراه آن
باید حداقل
1400x1400 پیکسل
باشد.
پلتفرم iTunes از تصاویر در فرمتهای JPEG و PNG با فضای رنگی RGB پشتیبانی میکند (CMYK پشتیبانی نمیشود). نشانی اینترنتی باید به ".jpg" یا ".png" ختم شود. اگر برچسب <itunes:image> وجود نداشته باشد، iTunes از محتویات برچسب تصویر RSS استفاده خواهد کرد.
اگر تصویر پادکست خود را تغییر دادید، نام فایل آن را نیز تغییر دهید. در صورتی که iTunes فید شما را بررسی کند و URL تصویر یکسان باشد، ممکن است تصویر را تغییر ندهد. سرور میزبان تصویر کاور شما باید اجازه درخواستهای HTTP HEAD را بدهد تا iTS بتواند به طور خودکار تصویر کاور شما را بهروزرسانی کند.
- پارامترها
- itunes_image -- تصویر پادکست.
- مقادیر بازگشتی
- تصویر پادکست.
- itunes_new_feed_url(itunes_new_feed_url=None)
- دریافت یا
تنظیم
ویژگی new-feed-url
پادکست. این
برچسب به
شما اجازه
میدهد
نشانی
اینترنتی (URL)
محل
قرارگیری
فید پادکست
را تغییر
دهید.
پس از افزودن برچسب به فید قدیمی خود، باید فید قدیمی را به مدت ۴۸ ساعت قبل از از رده خارج کردن آن حفظ کنید. در آن زمان، iTunes دایرکتوری را با URL جدید فید بهروزرسانی کرده است.
- پارامترها
- itunes_new_feed_url -- نشانی اینترنتی (URL) جدید فید.
- مقادیر بازگشتی
- نشانی اینترنتی (URL) جدید فید.
- itunes_owner(name=None, email=None)
- دریافت یا تنظیم itunes:owner پادکست. این برچسب حاوی اطلاعاتی است که برای برقراری ارتباط با مالک پادکست بهطور خاص درباره پادکست استفاده خواهد شد. این اطلاعات به صورت عمومی نمایش داده نمیشود.
- پارامترها
- itunes_owner -- مالک فید.
- مقادیر بازگشتی
- دادههای مربوط به مالک فید.
- itunes_subtitle(itunes_subtitle=None)
- دریافت یا تنظیم مقدار itunes:subtitle برای پادکست. محتویات این برچسب در ستون Description در iTunes نشان داده میشود. اگر زیرعنوان تنها چند کلمه باشد، به بهترین شکل نمایش داده میشود.
- پارامترها
- itunes_subtitle -- زیرعنوان پادکست.
- مقادیر بازگشتی
- زیرعنوان پادکست.
- itunes_summary(itunes_summary=None)
- دریافت یا تنظیم مقدار itunes:summary برای پادکست. محتویات این برچسب در پنجرهای مجزا که با کلیک بر روی "i درون دایره" در ستون Description باز میشود، نمایش داده خواهد شد. همچنین در صفحه iTunes پادکست شما نیز ظاهر میشود. این فیلد میتواند تا ۴۰۰۰ نویسه داشته باشد. اگر <itunes:summary> مشخص نشده باشد، از محتویات برچسب <description> استفاده خواهد شد.
- پارامترها
- itunes_summary -- خلاصه پادکست.
- مقادیر بازگشتی
- خلاصه پادکست.
- itunes_type(itunes_type=None)
- دریافت یا
تنظیم
مقدار itunes:type
پادکست. این
برچسب باید
برای نشان
دادن نوع
پادکست شما
استفاده
شود. دو
مقدار برای
این برچسب
عبارتند از
"episodic" و "serial".
اگر برنامه شما سریالی (Serial) است، باید از این برچسب استفاده کنید.
در صورتی که قسمتها برای شنیدن بدون ترتیب خاصی در نظر گرفته شدهاند، مقدار episodic را مشخص کنید. سرویس Apple Podcasts جدیدترین قسمتها را ابتدا ارائه داده و تاریخ انتشار (الزامی) هر قسمت را نمایش میدهد. اگر در قالب فصلها سازماندهی شده باشند، جدیدترین فصل ابتدا ارائه میشود - در غیر این صورت، قسمتها بر اساس سال انتشار، از جدیدترین به قدیمیترین گروهبندی خواهند شد.
- پارامترها
- itunes_type -- نوع پادکست.TP مقدار بازگشتی نوع پادکست.
feedgen.ext.podcast_entry
برای تولید پادکستها feedgen را گسترش میدهد.
- کپیرایت
- 2013-2016, Lars Kiesow <<lkiesow@uos.de>>
- پروانه
- FreeBSD و LGPL، برای جزئیات بیشتر license.* را ببینید.
- class feedgen.ext.podcast_entry.PodcastEntryExtension
- افزونهٔ FeedEntry برای پادکستها.
- extend_rss(entry)
- افزودن فیلدهای بیشتر به یک آیتم RSS.
- پارامترها
- feed -- عنصر XML مربوط به آیتم RSS برای استفاده.
- دریافت یا تنظیم itunes:author برای قسمت پادکست. محتوای این برچسب در ستون Artist در iTunes نمایش داده میشود. اگر این برچسب وجود نداشته باشد، iTunes از محتوای برچسب <author> استفاده میکند. اگر <itunes:author> در سطح فید وجود نداشته باشد، iTunes از محتوای <managingEditor> استفاده خواهد کرد.
- پارامترها
- itunes_author -- نویسندهٔ پادکست.
- مقدار بازگشتی
- نویسندهٔ پادکست.
- itunes_block(itunes_block=None)
- دریافت یا تنظیم صفت مسدودسازی iTunes. از این برای جلوگیری از نمایش قسمتها در فهرست راهنمای پادکست iTunes استفاده کنید.
- پارامترها
- itunes_block -- مسدودسازی قسمتهای پادکست.
- مقدار بازگشتی
- مشخص میکند که آیا قسمت پادکست مسدود شده است یا خیر.
- itunes_duration(itunes_duration=None)
- دریافت یا
تنظیم
مدتزمان
قسمت
پادکست.
محتوای این
برچسب در
ستون Time در iTunes
نمایش داده
میشود.
این برچسب میتواند در قالبهای HH:MM:SS، H:MM:SS، MM:SS یا M:SS باشد (H = ساعت، M = دقیقه، S = ثانیه). اگر یک عدد صحیح مشخص شود (بدون دونقطه)، مقدار بر حسب ثانیه فرض میشود. اگر یک دونقطه وجود داشته باشد، عدد سمت چپ دقیقه و عدد سمت راست ثانیه در نظر گرفته میشود. اگر بیش از دو دونقطه وجود داشته باشد، دورترین اعداد در سمت راست نادیده گرفته میشوند.
- پارامترها
- itunes_duration -- مدتزمان قسمت پادکست.
- مقدار بازگشتی
- مدتزمان قسمت پادکست.
- itunes_episode(itunes_episode=None)
- دریافت یا تنظیم مقدار itunes:episode برای قسمت پادکست.
- پارامترها
- itunes_season -- شمارهٔ قسمت در پادکست.
- مقدار بازگشتی
- شمارهٔ قسمت در پادکست.
- itunes_episode_type(itunes_episode_type=None)
- دریافت یا
تنظیم
مقدار itunes:episodeType
برای آیتم.
این برچسب
باید برای
مشخص کردن
نوع قسمت
استفاده
شود. سه
مقدار مجاز
برای این
برچسب
عبارتند از
"full"، "trailer" و "bonus".
اگر یک قسمت پیشنمایش یا محتوای اضافه است، از این برچسب استفاده کنید.
زمانی که محتوای کامل برنامهٔ خود را ارسال میکنید، full را مشخص کنید. زمانی که یک قطعه محتوای تبلیغاتی کوتاه که پیشنمایشی از برنامهٔ فعلی شما است را ارسال میکنید، trailer را مشخص کنید. زمانی که محتوای اضافی برای برنامهٔ خود ارسال میکنید (برای مثال، اطلاعات پشت صحنه یا مصاحبه با عوامل برنامه) یا محتوای تبلیغاتی متقابل برای برنامهای دیگر ارائه میدهید، bonus را مشخص کنید.
- پارامترها
- itunes_episode_type -- نوع قسمت
- مقدار بازگشتی
- نوع قسمت.
- itunes_explicit(itunes_explicit=None)
- دریافت یا
تنظیم
مقدار itunes:explicit
برای قسمت
پادکست. این
برچسب باید
برای مشخص
کردن
اینکه آیا
قسمت
پادکست
شامل
محتوای
صریح
(بزرگسالانه)
است یا خیر
استفاده
شود. سه
مقدار برای
این برچسب
عبارتند از
"yes"، "no" و "clean".
اگر این برچسب را با "yes" پر کنید، یک تصویر هشدار والدین "explicit" در کنار تصویر پادکست شما در iTunes Store و در ستون Name در iTunes ظاهر میشود. اگر مقدار "clean" باشد، نوع هشدار والدین Clean در نظر گرفته میشود، به این معنی که هیچ زبان صریح یا محتوای بزرگسالانهای در هیچ کجای قسمتها گنجانده نشده است، و یک تصویر گرافیکی "clean" ظاهر خواهد شد. اگر برچسب explicit وجود داشته باشد و هر مقدار دیگری داشته باشد (مثلاً "no")، هیچ نشانگری نخواهید دید — مقدار خالی (blank) نوع هشدار پیشفرض است.
- پارامترها
- itunes_explicit -- مشخص میکند که آیا قسمت پادکست حاوی محتوای صریح است یا خیر.
- مقدار بازگشتی
- مشخص میکند که آیا قسمت پادکست حاوی محتوای صریح است یا خیر.
- itunes_image(itunes_image=None)
- دریافت یا
تنظیم
تصویر برای
قسمت
پادکست. این
برچسب
تصویر روی
جلد (کاور)
پادکست شما
را مشخص
میکند.
نشانی URL
تصویر را در
صفت href قرار
دهید.
برنامهٔ iTunes
تصاویر
مربعی jpg. با
ابعاد
حداقل 1400x1400
پیکسل را
ترجیح
میدهد، که
این با آنچه
برای برچسب
استاندارد
تصویر در RSS
مشخص شده
متفاوت است.
برای
اینکه
پادکست
واجد شرایط
قرار گرفتن
در بخش
برگزیدههای
iTunes Store باشد،
تصویر
همراه آن
باید حداقل
1400x1400 پیکسل
باشد.
برنامهٔ iTunes از تصاویر با قالبهای JPEG و PNG و فضای رنگی RGB پشتیبانی میکند (CMYK پشتیبانی نمیشود). نشانی URL باید به ".jpg" یا ".png" ختم شود. اگر برچسب <itunes:image> موجود نباشد، iTunes از محتوای برچسب تصویر RSS استفاده خواهد کرد.
اگر تصویر پادکست خود را تغییر دادید، نام فایل را نیز تغییر دهید. در صورتی که iTunes فید شما را بررسی کند و نشانی URL تصویر یکسان باشد، ممکن است تصویر را تغییر ندهد. کارساز میزبان تصویر کاور شما باید درخواستهای HTTP head را مجاز بداند تا iTS بتواند تصویر کاور شما را بهطور خودکار بهروزرسانی کند.
- پارامترها
- itunes_image -- تصویر پادکست.
- مقدار بازگشتی
- تصویر پادکست.
- itunes_is_closed_captioned(itunes_is_closed_captioned=None)
- دریافت یا تنظیم مقدار is_closed_captioned برای قسمت پادکست. این برچسب در صورتی باید استفاده شود که پادکست شما شامل یک قسمت ویدئویی با پشتیبانی از زیرنویس تعبیهشده (closed captioning) باشد. دو مقدار ممکن برای این برچسب عبارتند از "yes" و "no".
- بازگشتی
- اینکه آیا این قسمت از زیرنویس ناشنوایان پشتیبانی میکند یا خیر.
- itunes_order(itunes_order=None)
- دریافت یا
تنظیم
مقدار itunes:order
برای قسمت
پادکست. از
این برچسب
میتوان
برای
بازنویسی
ترتیب
پیشفرض
قسمتها در
فروشگاه
استفاده
کرد.
این برچسب در سطح <item> با مقدار عددی که میخواهید قسمت بر اساس آن در فروشگاه نمایش یابد، مقداردهی میشود. برای نمونه، اگر میخواهید یک <item> به عنوان نخستین قسمت پادکست نمایش داده شود، برچسب <itunes:order> را با «1» مقداردهی میکنید. در صورت وجود مقادیر ترتیبی متداخل در چندین قسمت، فروشگاه از ترتیب پیشفرض (pubDate) استفاده خواهد کرد.
برای حذف ترتیب از قسمت، مقدار order را روی عددی کمتر از صفر تنظیم کنید.
- پارامترها
- itunes_order -- ترتیب قسمت.
- بازگشتی
- ترتیب قسمت.
- itunes_season(itunes_season=None)
- دریافت یا تنظیم مقدار itunes:season برای قسمت پادکست.
- پارامترها
- itunes_season -- شماره فصل قسمت پادکست.
- بازگشتی
- شماره فصل قسمت پادکست.
- itunes_subtitle(itunes_subtitle=None)
- دریافت یا تنظیم مقدار itunes:subtitle برای قسمت پادکست. محتوای این برچسب در ستون Description در iTunes نمایش داده میشود. زیرعنوان در صورتی که فقط چند کلمه باشد به بهترین شکل نمایش داده خواهد شد.
- پارامترها
- itunes_subtitle -- زیرعنوان قسمت پادکست.
- بازگشتی
- زیرعنوان قسمت پادکست.
- itunes_summary(itunes_summary=None)
- دریافت یا تنظیم مقدار itunes:summary برای قسمت پادکست. محتوای این برچسب در پنجرهای جداگانه نمایش داده میشود که با کلیک روی "i درون دایره" در ستون Description باز میشود. این مقدار همچنین در صفحه iTunes پادکست شما ظاهر میشود. این فیلد میتواند حداکثر شامل 4000 نویسه باشد. در صورت عدم درج <itunes:summary>، از محتوای برچسب <description> استفاده میشود.
- پارامترها
- itunes_summary -- خلاصهی قسمت پادکست.
- بازگشتی
- خلاصهی قسمت پادکست.
- itunes_title(itunes_title=None)
- دریافت یا
تنظیم
مقدار itunes:title
برای قسمت
پادکست.
یک عنوان قسمت اختصاصی برای Apple Podcasts. در این برچسب شماره قسمت یا شماره فصل را مشخص نکنید. همچنین، عنوان برنامه خود را در عنوان قسمت تکرار نکنید.
- پارامترها
- itunes_title -- عنوان قسمت اختصاصی برای Apple Podcasts
- بازگشتی
- عنوان اختصاصی برای Apple Podcast
کلاس FeedGenerator را جهت تولید فیدهای تورنت گسترش میدهد.
- کپیرایت
- 2016, Raspbeguy <<raspbeguy@hashtagueule.fr>>
- مجوز
- FreeBSD و LGPL، برای جزئیات بیشتر به license.* مراجعه کنید.
- class feedgen.ext.torrent.TorrentEntryExtension
- افزونه FeedEntry برای فیدهای تورنت
- contentlength(torrent_contentlength=None)
- دریافت یا تنظیم اندازه فایل مقصد.
- پارامترها
- torrent_contentlength -- اندازه فایل مقصد.
- بازگشتی
- اندازه فایل مقصد.
- extend_rss(entry)
- افزودن فیلدهای بیشتر به یک آیتم RSS.
- پارامترها
- feed -- عنصر XML مربوط به آیتم RSS برای استفاده.
- filename(torrent_filename=None)
- دریافت یا تنظیم نام فایل تورنت.
- پارامترها
- torrent_filename -- نام فایل تورنت.
- بازگشتی
- نام فایل تورنت.
- infohash(torrent_infohash=None)
- دریافت یا تنظیم هش فایل مقصد.
- پارامترها
- torrent_infohash -- هش فایل مقصد.
- بازگشتی
- هش فایل مقصد.
- peers(torrent_peers=None)
- دریافت یا تنظیم تعداد همتایان (peers).
- پارامترها
- torrent_infohash -- تعداد همتایان.
- بازگشتی
- تعداد همتایان.
- seeds(torrent_seeds=None)
- دریافت یا تنظیم تعداد سیدها (seeds).
- پارامترها
- torrent_seeds -- تعداد سیدها.
- بازگشتی
- تعداد سیدها.
- verified(torrent_verified=None)
- دریافت یا تنظیم تعداد همتایان تأییدشده.
- پارامترها
- torrent_infohash -- تعداد همتایان تأییدشده.
- بازگشتی
- تعداد همتایان تأییدشده.
- class feedgen.ext.torrent.TorrentExtension
- افزونه FeedGenerator برای فیدهای تورنت.
- extend_ns()
- یک dict برمیگرداند که در نگاشت فضاینام (namespace map) برای فید استفاده خواهد شد.
- نمایه <>
- نمایه ماژولها <>
- صفحه جستجو <> Lars Kiesow
کپیرایت و تکثیر (COPYRIGHT)
2013-2016, Lars Kiesow
| December 14, 2025 | 1.0 |