মডিউল:রাজনৈতিক দল
![]() | ব্যবহৃত লুয়া: |
ব্যবহার
[সম্পাদনা]{{#invoke:রাজনৈতিক দল|fetch|<দল>|<মান>}}
প্যারামিটার
[সম্পাদনা]প্যারামিটার | বিবরণ |
---|---|
1 | রাজনৈতিক দলের নাম। যদি দলের নাম না থাকে, তবে তা যোগ করতে আলাপ পাতায় অনুরোধ করুন। |
error | ঐচ্ছিক, এই প্যারামিটারটি প্রদত্ত |error= মানটি ফলাফল হিসেবে দিবে যদি মডিউলে অনুরোধকৃত দলের নাম বা রং না থাকে।
|
মডিউলটি হালনাগাদ করা
[সম্পাদনা]রাজনৈতিক দলগুলির নামের প্রথম অক্ষরের উপর ভিত্তি করে বর্ণানুক্রমে এই মডিউলটি ভাগ করা হয়েছে (উদাহরণ, "বাংলাদেশ আওয়ামী লীগ"-এর ভুক্তি /ব-এর অধীনে পাওয়া যাবে)।
প্রতিটি উপাত্ত উপমডিউলে দুটি স্থানীয় গ্রুপ রয়েছে: local alternate
ও local full
। বিকল্প (alternate) গ্রুপটি একটি দলের বিকল্প নামগুলির জন্য। বাংলাদেশ আওয়ামী লীগ ব্যবহার করে নিচে উদাহরণ দেওয়া হল:
local alternate = {
....
["আওয়ামী লীগ"] = "বাংলাদেশ আওয়ামী লীগ",
["নিখিল পাকিস্তান আওয়ামী লীগ"] = "বাংলাদেশ আওয়ামী লীগ",
...
}
বর্গাকার বন্ধনীর মধ্যে থাকা প্রথম ভুক্তিটি হল বিকল্প নাম, এবং উদ্ধৃতি চিহ্নের মধ্যে থাকা দ্বিতীয় ভুক্তিটি হল full
গ্রুপে পাওয়া নাম। লক্ষ্য করুন যে, কোনও দলের বিকল্প নামটি তার সংশ্লিষ্ট অক্ষর-ভিত্তিক উপপাতায় সংরক্ষণ করা উচিত; "বাংলাদেশ আওয়ামী লীগ" /ব-এর অধীনে থাকলেও এর বিকল্প নাম "নিখিল পাকিস্তান আওয়ামী লীগ" /ন-এর অধীনে রয়েছে।
ছকের মান
[সম্পাদনা]local full = {
....
["বাংলাদেশ আওয়ামী লীগ"] = {abbrev = "লীগ", color = "#006a4e", shortname = "আওয়ামী লীগ",},
...
}
প্রতিটি দলের জন্য তিনটি মান সংরক্ষণ করা হয়:
- সংক্ষেপন (
abbrev
)। - দলের রং (
color
)। - দলের জন্য একটি সংক্ষিপ্ত নাম (
shortname
)।
যদি কোনও দলের জন্য একটি নামের মান সংরক্ষণ না করা হয়, তবে মডিউলটি ইনপুট প্রদানের আগে অন্য "সংক্ষিপ্ত" নামটি ইনপুট হিসেবে দেওয়ার চেষ্টা করবে। সুতরাং যদি abbrev
দেওয়া হয় ও shortname
না দেওয়া হয়, তবে যে মানটি জিজ্ঞাসা করা হোক না কেন এটি সর্বদা abbrev
মানটি ফলাফল হিসেবে প্রদান করবে।
একটি যোগ করতে বা পরিবর্তন করতে
[সম্পাদনা]যথাযথ উপাত্ত পাতায় যোগ করুন বা আলাপ পাতায় জানান। নিচের লাইনটি অনুলিপি করুন ও যথাযথ ঘরগুলি পূরণ করুন। ন্যূনতম তথ্য হিসেবে একটি দলের নাম প্রয়োজন। প্রতিটি মান সম্পর্কে তথ্যের জন্য উপরে দেখুন।
["party"] = {abbrev = "", color = "", shortname = "",},
ত্রুটি বার্তা
[সম্পাদনা]ত্রুটি বার্তা | ব্যাখ্যা |
---|---|
লুয়া ত্রুটি: bad argument #1 to 'sub' (string expected, got table)। | একটি ভুক্তি যা "local full" অংশে দেওয়া উচিত তা "local alternate" অংশে দেয়া হয়েছে। এটিকে "local full" অংশে সরান। |
লুয়া ত্রুটি package.lua এর 80 নং লাইনে: module 'মডিউল:রাজনৈতিক দল/' not found। | খালি মান সহকারে বিকল্প তালিকাতে দল যুক্ত করা হয়েছে। |
মান টেমপ্লেটে নেই। অনুগ্রহ করে এটি যোগ করার জন্য অনুরোধ করুন। | "local full" অংশে দলটির নাম আছে তবে উক্ত ভুক্তিতে কোনও রং নেই। ("local full" অংশে সদৃশ ভুক্তি থাকলেও এমন হতে পারে। যদি থাকে, একত্রীত করুন।) |
(কোনও ত্রুটি বার্তা নেই, তবে দলের রং সাদা /ফাঁকা) | নিচের মডিউল:রাজনৈতিক দল/ উপাত্ত পাতার প্রাসঙ্গিক মডিউলে "local full" অংশে দলের জন্য সেটির ভুক্তিতে একটি রং যোগ করুন। |
প্যারামিটার ১ একটি দলের নাম হওয়া উচিত | একটি টেমপ্লেট মডিউলে একটি অনুপস্থিত প্যারামিটার দেওয়ার চেষ্টা করছে। |
প্যারামিটার ২ আউটপুট ধরন হওয়া উচিত |
উপাত্ত পাতা
[সম্পাদনা]- রাজনৈতিক দল/অ
- রাজনৈতিক দল/আ
- রাজনৈতিক দল/ই
- রাজনৈতিক দল/ঈ
- রাজনৈতিক দল/উ
- রাজনৈতিক দল/ঊ
- রাজনৈতিক দল/ঋ
- রাজনৈতিক দল/এ
- রাজনৈতিক দল/ঐ
- রাজনৈতিক দল/ও
- রাজনৈতিক দল/ঔ
- রাজনৈতিক দল/ক
- রাজনৈতিক দল/খ
- রাজনৈতিক দল/গ
- রাজনৈতিক দল/ঘ
- রাজনৈতিক দল/ঙ
- রাজনৈতিক দল/চ
- রাজনৈতিক দল/ছ
- রাজনৈতিক দল/জ
- রাজনৈতিক দল/ঝ
- রাজনৈতিক দল/ঞ
- রাজনৈতিক দল/ট
- রাজনৈতিক দল/ঠ
- রাজনৈতিক দল/ড
- রাজনৈতিক দল/ঢ
- রাজনৈতিক দল/ণ
- রাজনৈতিক দল/ত
- রাজনৈতিক দল/থ
- রাজনৈতিক দল/দ
- রাজনৈতিক দল/ধ
- রাজনৈতিক দল/ন
- রাজনৈতিক দল/প
- রাজনৈতিক দল/ফ
- রাজনৈতিক দল/ব
- রাজনৈতিক দল/ভ
- রাজনৈতিক দল/ম
- রাজনৈতিক দল/য
- রাজনৈতিক দল/র
- রাজনৈতিক দল/ল
- রাজনৈতিক দল/শ
- রাজনৈতিক দল/ষ
- রাজনৈতিক দল/স
- রাজনৈতিক দল/হ
- রাজনৈতিক দল/১
local p = {}
local default_color = '#F8F9FA'
local categories = {
party_not_in_list = '[[বিষয়শ্রেণী:অজানা দলসহ রাজনৈতিক দল ব্যবহার করা পাতা]]',
shortname_not_in_list = '[[বিষয়শ্রেণী:অনুপস্থিত সংক্ষিপ্তনামসহ রাজনৈতিক দল ব্যবহার করা পাতা]]',
color_not_in_list = '[[বিষয়শ্রেণী:অনুপস্থিত রংসহ রাজনৈতিক দল ব্যবহার করা পাতা]]',
}
local function create_error(error_message)
return string.format('<strong class="error">%s</strong>', error_message)
end
local function getFirstLetter(party)
local index = mw.ustring.sub(party, 1, 1)
-- বাংলা নয় এমনগুলির জন্য সূচি
if mw.ustring.match (index, '[^অ-হ]') then
return '১'
end
return index
end
local function stripToNil(text)
-- If text is a string, return its trimmed content, or nil if empty.
-- Otherwise return text (which may, for example, be nil).
if type(text) == 'string' then
text = text:match('(%S.-)%s*$')
local delink = require('Module:Delink')._delink
text = delink({text, wikilinks = "target"})
end
return text
end
-- Example of having all the data - color and names - in one table. Requires one page to be edited instead of two when adding a new party.
function p._fetch(args)
if not args[1] then
return create_error("প্যারামিটার ১ একটি দলের নাম হওয়া উচিত।")
end
if not args[2] then
return create_error("প্যারামিটার ২ আউটপুট ধরন হওয়া উচিত")
end
local party = stripToNil(args[1])
local out_type = stripToNil(args[2])
if out_type == 'colour' then
out_type = 'color'
end
local index = getFirstLetter(party)
-- Load data from submodule
local data = mw.loadData('মডিউল:রাজনৈতিক দল/' .. index)
local data_all = data.full
local party_alt = data.alternate[party]
local party_info
if party_alt then
if data_all[party_alt] then
party_info = data_all[party_alt]
else
index = getFirstLetter(party_alt)
data = mw.loadData('মডিউল:রাজনৈতিক দল/' .. index)
party_info = data.full[party_alt]
end
else
party_info = data_all[party]
end
-- Check if database value exists
-- * Not even in database - return given error or input
-- * No color - return error
-- * No shortname/abbrev - return first non-blank of abbrev->shortname->input
if not party_info then
if out_type == 'color' then
return args.error or default_color
else
return args.error or party
end
end
local return_value = party_info[out_type]
if return_value == "" then
if out_type == 'color' then
return args.error or create_error("মান টেমপ্লেটে নেই। অনুগ্রহ করে এটি যোগ করার জন্য অনুরোধ করুন।")
elseif out_type == 'abbrev' then
if party_info.shortname ~= "" then
return party_info.shortname
else
return party
end
elseif out_type == 'shortname' then
if party_info.abbrev ~= "" then
return party_info.abbrev
else
return party
end
else
return party
end
end
if out_type == 'color' and string.find(return_value, '#') then
return_value = string.gsub(return_value, '#', '#')
end
return return_value
end
function p.fetch(frame)
-- Initialise and populate variables
local getArgs = require("Module:Arguments").getArgs
local args = getArgs(frame)
return p._fetch(args)
end
return p