OneDrive જોડાણોમાંથી ઈમેલ હસ્તાક્ષરનાં ચિત્રોને કેવી રીતે બહાર રાખવા

Automation

પાવર ઓટોમેટ સાથે તમારા ઇમેઇલ વર્કફ્લોને સુવ્યવસ્થિત કરવું

ઈમેઈલ જોડાણોને અસરકારક રીતે મેનેજ કરવાથી કોઈ પઝલ હલ કરવા જેવું લાગે છે, ખાસ કરીને જ્યારે તમારો વર્કફ્લો અપ્રસ્તુત હસ્તાક્ષર ઈમેજોથી અવ્યવસ્થિત થઈ જાય. આપણામાંના ઘણાએ "image001.png" અથવા તેના જેવા લેબલવાળા જોડાણો દ્વારા વેડિંગની નિરાશાનો સામનો કરવો પડ્યો છે, ફક્ત તે શોધવા માટે કે તેઓ મોકલનારના ઇમેઇલ ફૂટરનો ભાગ છે. 🖼️

એક પાવર ઓટોમેટ ફ્લો સેટ કરવાની કલ્પના કરો જે OneDrive માં સંગ્રહિત સંબંધિત ઇમેઇલ જોડાણો સાથે પ્લાનરમાં એકીકૃત રીતે કાર્યો બનાવે છે. જો કે, ઉપયોગી ઈમેજો અને પેસ્કી સિગ્નેચર ચિહ્નો વચ્ચે તફાવત કરતી વખતે આ ઓટોમેશન પડકારજનક બની જાય છે. તમે બધી છબીઓને પણ બાકાત રાખવા માંગતા નથી, કારણ કે કેટલીક ઈમેલ બોડીમાં મૂલ્યવાન ઉમેરાઓ છે.

આ ફૂટર છબીઓ માટે અસંગત નામકરણ સંમેલનો સાથે કામ કરતી વખતે પડકાર વધે છે. તે પ્રેષકો વચ્ચે બદલાય છે અને જ્યારે ઈમેલમાં ઇનલાઈન ઈમેજીસ શામેલ હોય ત્યારે તે વધુ જટિલ બને છે. ફાઇલ પ્રકાર દ્વારા બાકાત રાખવું એ પણ સંપૂર્ણ ઉકેલ નથી, કારણ કે તે જરૂરી સામગ્રીને ફિલ્ટર કરવાનું જોખમ લે છે.

તો, આપણે સંપૂર્ણ સંતુલન કેવી રીતે મેળવી શકીએ? આ માર્ગદર્શિકામાં, અમે અર્થપૂર્ણ સામગ્રીને સાચવીને બિનજરૂરી હસ્તાક્ષર જોડાણોને ફિલ્ટર કરવા માટે વ્યવહારુ અભિગમોનું અન્વેષણ કરીશું. યોગ્ય તકનીકો સાથે, તમે તમારા ઓટોમેશનને ઑપ્ટિમાઇઝ કરી શકો છો અને ઉત્પાદકતાના કલાકોનો ફરી દાવો કરી શકો છો. ચાલો અંદર જઈએ! 🚀

આદેશ ઉપયોગનું ઉદાહરણ
BytesParser(policy=policy.default) આ કમાન્ડનો ઉપયોગ ઈમેલ ફાઈલો (.eml) ને ફોર્મેટ સાચવતી વખતે સ્ટ્રક્ચર્ડ ઈમેલ ઓબ્જેક્ટમાં પાર્સ કરવા માટે થાય છે. પોલિસી.ડિફોલ્ટ હેડરો, જોડાણો અને બોડી કન્ટેન્ટનું યોગ્ય સંચાલન સુનિશ્ચિત કરે છે.
msg.iter_attachments() ઇમેઇલ ઑબ્જેક્ટમાં તમામ જોડાણો પર પુનરાવર્તિત થાય છે. આ દરેક જોડાણને ફિલ્ટર કરવા અથવા સાચવવા માટે અલગ એન્ટિટી તરીકે બહાર કાઢવાની મંજૂરી આપે છે.
part.get_filename() ઇમેઇલ જોડાણનું ફાઇલ નામ પુનઃપ્રાપ્ત કરે છે. ચોક્કસ પેટર્નને ઓળખવા અથવા સહી ઇમેજ જેવી અનિચ્છનીય ફાઇલોને ફિલ્ટર કરવા માટે ઉપયોગી.
part.get("Content-ID") જોડાણના Content-ID હેડરને મેળવે છે, સામાન્ય રીતે ઇમેઇલ્સમાં એમ્બેડ કરેલી ઇનલાઇન છબીઓને ઓળખવા માટે વપરાય છે. આ શરીરની છબીઓ અને હસ્તાક્ષરો વચ્ચે તફાવત કરવામાં મદદ કરે છે.
@filter() પાવર સ્વચાલિત અભિવ્યક્તિ કે જે ફિલ્ટર જોડાણોને તેમની મિલકતોના આધારે શરતી તર્ક લાગુ કરે છે, જેમ કે નામ અથવા સામગ્રી પ્રકાર.
@startsWith() સ્ટ્રિંગ ચોક્કસ ઉપસર્ગથી શરૂ થાય છે કે કેમ તે ચકાસવા માટે પાવર ઓટોમેટ ફંક્શન. ઉદાહરણ તરીકે, તેનો ઉપયોગ "image00" થી શરૂ થતા જોડાણોને બાકાત રાખવા માટે થઈ શકે છે.
@outputs() પાવર ઓટોમેટમાં પાછલા પગલાના આઉટપુટ ડેટાને ઍક્સેસ કરે છે. આ આદેશ વધુ ફિલ્ટરિંગ માટે જોડાણ મેટાડેટા પુનઃપ્રાપ્ત કરવા માટે મહત્વપૂર્ણ છે.
attachments.filter() JavaScript એરે પદ્ધતિનો ઉપયોગ ચોક્કસ શરતોના આધારે અનિચ્છનીય જોડાણોને ફિલ્ટર કરવા માટે થાય છે, જેમ કે નામ પેટર્ન અથવા સામગ્રી ID.
pattern.test() JavaScript રેગ્યુલર એક્સપ્રેશન મેથડ જે આપેલ સ્ટ્રિંગ ઉલ્લેખિત પેટર્ન સાથે મેળ ખાય છે કે કેમ તે તપાસે છે. સહી-સંબંધિત ફાઇલ નામો ઓળખવા માટે ઉપયોગી.
os.path.join() ડાયરેક્ટરી પાથ અને ફાઇલ નામોને માન્ય ફાઇલ પાથમાં જોડે છે. આ સુનિશ્ચિત કરે છે કે જોડાણો સુસંગત બંધારણ સાથે યોગ્ય ફોલ્ડરમાં સાચવવામાં આવે છે.

વ્યવહારુ સ્ક્રિપ્ટો સાથે ઈમેઈલ જોડાણ ફિલ્ટરિંગ રિફાઈનિંગ

ઈમેલ ઓટોમેશનમાં આપેલી સ્ક્રિપ્ટો સામાન્ય સમસ્યાને સંબોધિત કરે છે: ઈમેલ એટેચમેન્ટમાંથી અપ્રસ્તુત ઈમેજોને બાકાત રાખીને, ખાસ કરીને ઈમેઈલ સિગ્નેચરમાંની. પાયથોનમાં લખાયેલ પ્રથમ સ્ક્રિપ્ટ, આનો ઉપયોગ કરે છે .eml ફાઇલોને પાર્સ કરવા અને જોડાણો કાઢવા માટે લાઇબ્રેરી. તે ફાઇલ નામો અને સામગ્રી IDs માં પેટર્નનું વિશ્લેષણ કરીને સહી છબીઓને ઓળખે છે. ઉદાહરણ તરીકે, "image001.png" જેવા ફાઇલના નામો અથવા "લોગો" અથવા "ફૂટર" જેવા શબ્દો ધરાવતા હોય તેવા નામોને સહી-સંબંધિત તરીકે ચિહ્નિત કરવામાં આવે છે. નો ઉપયોગ ખાતરી કરે છે કે ઇમેઇલ્સ યોગ્ય ફોર્મેટિંગ સાથે પ્રક્રિયા કરવામાં આવે છે, ચોક્કસ જોડાણ ઓળખ અને બાકાત માટે પરવાનગી આપે છે. દૈનિક અહેવાલો પ્રાપ્ત કરવાની કલ્પના કરો પરંતુ અપ્રસ્તુત જોડાણોને સાફ કરવામાં બિનજરૂરી સમય પસાર કરો-આ ઉકેલ તે પ્રક્રિયાને સ્વચાલિત કરે છે. 🛠️

પાવર ઓટોમેટ સાથે બેક-એન્ડ પર, અભિવ્યક્તિઓ જેમ કે અને ગતિશીલ જોડાણ ફિલ્ટરિંગ ઉમેરીને પ્રવાહને વધારવો. આ ટૂલ્સ તમને "ઇમેજ00" થી શરૂ થતી વિશિષ્ટ પેટર્ન સાથે મેળ ખાતા ન હોય તેવા જોડાણોને નિર્દેશ કરવા દે છે. ઉદાહરણ તરીકે, પ્લાનર કાર્યો દ્વારા ગ્રાહકની પૂછપરછનું સંચાલન કરતો વ્યવસાય સહી ઇમેજને બાદ કરીને અવ્યવસ્થિત કાર્યોને ટાળી શકે છે. સોલ્યુશનનો આ ભાગ સુનિશ્ચિત કરે છે કે ફક્ત સંબંધિત ફાઇલો-કોન્ટ્રેક્ટ, ઇન્વૉઇસ અથવા ક્લાયન્ટ દ્વારા મોકલવામાં આવેલ ફોટા-ઓ OneDrive પર સાચવવામાં આવે છે, કાર્ય વ્યવસ્થાપનને સુવ્યવસ્થિત કરે છે.

JavaScript અમલીકરણ ફ્રન્ટ-એન્ડ પ્રોસેસિંગમાં લવચીકતા લાવે છે, જ્યાં ફાઇલોને તેમના નામ અથવા મેટાડેટાના આધારે ગતિશીલ રીતે ફિલ્ટર કરી શકાય છે. જેવા કાર્યો અને રેજેક્સ પેટર્ન વિકાસકર્તાઓને તેમના વર્કફ્લોને અનુરૂપ બાકાત તર્કને કસ્ટમાઇઝ કરવાની મંજૂરી આપે છે. ઉદાહરણ તરીકે, જો તમારો વ્યવસાય માર્કેટિંગ ઝુંબેશને હેન્ડલ કરે છે અને મલ્ટીમીડિયા-ભારે ઇમેઇલ્સ પ્રાપ્ત કરે છે, તો આ સ્ક્રિપ્ટ ખાતરી કરી શકે છે કે બ્રાન્ડેડ હસ્તાક્ષર ગ્રાફિક્સ ફિલ્ટર કરવામાં આવે ત્યારે માત્ર પ્રમોશનલ છબીઓ જ સાચવવામાં આવે છે. આ કંટાળાજનક કાર્યને સ્વચાલિત કરીને, વપરાશકર્તાઓ મેન્યુઅલ ક્લિન-અપને બદલે સર્જનાત્મક કાર્ય પર ધ્યાન કેન્દ્રિત કરી શકે છે. 🎨

એકંદરે, આ સ્ક્રિપ્ટો મોડ્યુલરિટી અને સ્પષ્ટતાને પ્રાથમિકતા આપે છે. ઉકેલનો દરેક ભાગ સમસ્યાના ચોક્કસ સ્તરનો સામનો કરે છે, પાયથોનમાં ઈમેઈલ જોડાણો પાર્સિંગથી લઈને પાવર ઓટોમેટ સાથે એકીકૃત રીતે સંકલિત કરવા અને JavaScriptમાં ડાયનેમિક ફિલ્ટરિંગને સક્ષમ કરવા સુધી. ટૂલ્સનું સંયોજન માપનીયતા માટે પરવાનગી આપે છે, એટલે કે સમાન અભિગમ અન્ય પ્લેટફોર્મ અથવા વર્કફ્લો માટે સ્વીકારવામાં આવી શકે છે. તમે દરરોજ ડઝનેક ફ્લેગ કરેલા ઈમેઈલનું સંચાલન કરતા આઈટી પ્રોફેશનલ હોવ અથવા ક્લાઈન્ટ કોમ્યુનિકેશનનું આયોજન કરતા ફ્રીલાન્સર હોવ, આ ઉકેલો અવાજ ઘટાડે છે અને સમય બચાવે છે, ઓટોમેશનને ખરેખર મૂલ્યવાન બનાવે છે. 🚀

પાવર ઓટોમેટમાં ઈમેલ સિગ્નેચર ઈમેજીસને અસરકારક રીતે ફિલ્ટર કરવું

આ સ્ક્રિપ્ટ બેક-એન્ડ પ્રોસેસિંગ માટે પાયથોનનો ઉપયોગ કરે છે, બોડી કન્ટેન્ટ એટેચમેન્ટ્સને સાચવતી વખતે સહી ઇમેજને ઓળખવા અને બાકાત રાખવા માટે ઈમેઈલ લાઈબ્રેરીઓનો લાભ લે છે.

import email
import os
from email import policy
from email.parser import BytesParser
def is_signature_image(file_name, content_id):
    signature_indicators = ["image001", "logo", "footer", "signature"]
    if any(indicator in file_name.lower() for indicator in signature_indicators):
        return True
    if content_id and "signature" in content_id.lower():
        return True
    return False
def process_email(file_path):
    with open(file_path, "rb") as f:
        msg = BytesParser(policy=policy.default).parse(f)
    attachments = []
    for part in msg.iter_attachments():
        file_name = part.get_filename()
        content_id = part.get("Content-ID", "")
        if file_name and not is_signature_image(file_name, content_id):
            attachments.append((file_name, part.get_content()))
    return attachments
email_file = "path/to/your/email.eml"
attachments = process_email(email_file)
for name, content in attachments:
    with open(os.path.join("attachments", name), "wb") as f:
        f.write(content)

પાવર ઓટોમેટ સ્ક્રિપ્ટ્સ સાથે સ્વચાલિત ઇમેઇલ જોડાણ ફિલ્ટરિંગ

આ સોલ્યુશન મેટાડેટા વિશ્લેષણ પર આધારિત હસ્તાક્ષર જોડાણોને ઓળખવા અને બાકાત રાખવા માટે પાવર ઓટોમેટ એક્સપ્રેશન્સ અને શેરપોઈન્ટનો ઉપયોગ કરે છે.

@if(equals(triggerOutputs()?['headers']?['x-ms-exchange-organization-messagetype'], 'email'), true, false)
@outputs('Get_Attachments')?['body/value']
filter(outputs('Get_Attachments')?['body/value'],
    item()?['Name'] != null &&
    not(startsWith(item()?['Name'], 'image00')) &&
    not(contains(item()?['ContentType'], 'image/png')))
saveToOneDrive(outputs('Filtered_Attachments'))

ફ્રન્ટ-એન્ડ પ્રોસેસિંગમાં ફૂટર છબીઓને બાકાત રાખવું

આ ફ્રન્ટ-એન્ડ સોલ્યુશન, ઇમેઇલ જોડાણોને પાર્સ કરવા માટે JavaScriptનો ઉપયોગ કરે છે, સહી છબીઓને ગતિશીલ રીતે બાકાત રાખવા માટે રેજેક્સનો લાભ લે છે.

function isSignatureAttachment(fileName, contentId) {
    const signaturePatterns = [/image001/i, /logo/i, /footer/i, /signature/i];
    if (signaturePatterns.some((pattern) => pattern.test(fileName))) {
        return true;
    }
    if (contentId && /signature/i.test(contentId)) {
        return true;
    }
    return false;
}
function filterAttachments(attachments) {
    return attachments.filter(att => !isSignatureAttachment(att.name, att.contentId));
}
const emailAttachments = [...]; // Replace with email data
const filteredAttachments = filterAttachments(emailAttachments);
console.log(filteredAttachments);

ઈમેઈલ એટેચમેન્ટ્સમાં ઈમેજ ફિલ્ટરિંગને ઓપ્ટિમાઇઝ કરવું

જ્યારે ઇમેઇલ્સમાં અર્થપૂર્ણ જોડાણોથી સહી છબીઓને અલગ પાડવાની વાત આવે છે, ત્યારે એક વારંવાર અવગણવામાં આવતું પરિબળ મેટાડેટા છે. મેટાડેટા, જેમ કે ઇમેજ ડાયમેન્શન અથવા DPI (ડોટ્સ પ્રતિ ઇંચ), એ એક મજબૂત સૂચક હોઈ શકે છે કે શું ઇમેજ સહીનો ભાગ છે. દાખલા તરીકે, હસ્તાક્ષરવાળી છબીઓ સામાન્ય રીતે કદમાં નાની હોય છે, ઘણીવાર લગભગ 100x100 પિક્સેલમાં પ્રમાણિત હોય છે, અથવા ન્યૂનતમ DPI હોય છે. Python's જેવા સાધનોનો લાભ લઈને લાઇબ્રેરી અથવા પાવર ઓટોમેટના અદ્યતન અભિવ્યક્તિઓ, તમે આ લાક્ષણિકતાઓના આધારે જોડાણોને ફિલ્ટર કરી શકો છો. આ અભિગમ સુનિશ્ચિત કરે છે કે વ્યવસાય-નિર્ણાયક જોડાણો-જેમ કે સ્કેન કરેલા દસ્તાવેજો અથવા ઇન્ફોગ્રાફિક્સ-જાળવવામાં આવે છે જ્યારે અપ્રસ્તુત ચિહ્નોને બાકાત રાખવામાં આવે છે. 📊

બીજું મુખ્ય પાસું MIME પ્રકારો (બહુહેતુક ઈન્ટરનેટ મેઈલ એક્સ્ટેન્શન્સ)નું વિશ્લેષણ છે. હસ્તાક્ષરવાળી છબીઓ ઘણીવાર PNG અથવા JPEG જેવા ફોર્મેટનો ઉપયોગ કરે છે, પરંતુ તમે રિકરિંગ MIME પ્રકારના ગુણધર્મો, જેમ કે ઇનલાઇન ઇમેજ સંદર્ભો શોધીને તેમને વધુ સંકુચિત કરી શકો છો. જેવા સાધનો પાયથોનમાં અથવા પાવર ઓટોમેટમાં મેટાડેટા અભિવ્યક્તિઓ ઇનલાઇન ઉપયોગ માટે સ્પષ્ટપણે ચિહ્નિત થયેલ જોડાણોને ફ્લેગ કરી શકે છે. ઉદાહરણ તરીકે, માર્કેટિંગ ઝુંબેશમાં, બ્રાન્ડ લોગોથી ઉત્પાદનની છબીને અલગ પાડવી એ MIME પ્રકાર વિશ્લેષણ સાથે ખૂબ સરળ બની જાય છે.

છેલ્લે, મશીન લર્નિંગ અદ્યતન શક્યતાઓ પ્રદાન કરે છે. મોટી સંખ્યામાં ઈમેલ હેન્ડલ કરતી કંપનીઓ માટે, મોડેલોને ફાઈલના નામ, પરિમાણો અથવા સંદર્ભમાં પેટર્નના આધારે જોડાણોને વર્ગીકૃત કરવા માટે તાલીમ આપી શકાય છે. વધુ સંસાધન-સઘન હોવા છતાં, આ પદ્ધતિ જટિલ પરિસ્થિતિઓ માટે અપવાદરૂપે સારી રીતે કાર્ય કરે છે. દાખલા તરીકે, બહુભાષી ઈમેલ હેન્ડલ કરતી ગ્રાહક સપોર્ટ ટીમ વૈશ્વિક સ્તરે જોડાણ પ્રક્રિયાને સ્વચાલિત કરવા માટે આ સોલ્યુશનનો અમલ કરી શકે છે, ગ્રાહકોની ચિંતાઓને ઉકેલવા માટે સમય મુક્ત કરી શકે છે. 🌍

  1. જોડાણ ઇનલાઇન છે કે કેમ તે હું કેવી રીતે તપાસું?
  2. તમે જોઈ શકો છો કે જોડાણ ઇનલાઇન છે કે કેમ પાયથોન અથવા પાવર ઓટોમેટમાં હેડર. ઇનલાઇન જોડાણો સામાન્ય રીતે ચિહ્નિત કરવામાં આવે છે .
  3. ઇમેજ ફિલ્ટર કરવા માટે હું કયા મેટાડેટાનો ઉપયોગ કરી શકું?
  4. છબીના પરિમાણો, DPI અને MIME પ્રકારો સહી છબીઓ અને અર્થપૂર્ણ જોડાણો વચ્ચે તફાવત કરવા માટે અસરકારક મેટાડેટા ગુણધર્મો છે.
  5. શું હું અમુક ફાઇલ નામોને બાકાત રાખવા માટે regex નો ઉપયોગ કરી શકું?
  6. હા, જેમ કે રેગ્યુલર એક્સપ્રેશનનો ઉપયોગ કરીને Python માં તમને નામકરણ પેટર્નના આધારે હસ્તાક્ષર છબીઓને ફિલ્ટર કરવાની મંજૂરી આપે છે.
  7. ફિલ્ટરિંગમાં મશીન લર્નિંગ કેવી રીતે મદદ કરી શકે?
  8. મશીન લર્નિંગ મોડલ્સ મેટાડેટા, ફાઇલ સામગ્રી અથવા વપરાશ સંદર્ભમાં પેટર્નનું વિશ્લેષણ કરીને જોડાણોને વર્ગીકૃત કરી શકે છે, જે તેને મોટા પાયે ફિલ્ટરિંગ કાર્યો માટે આદર્શ બનાવે છે.
  9. ઈમેલ જોડાણો પર પ્રક્રિયા કરવા માટે શ્રેષ્ઠ પુસ્તકાલય કઈ છે?
  10. અજગર લાઈબ્રેરી એ ઈમેલ ફાઈલોમાં જોડાણોને પાર્સ કરવા અને હેન્ડલ કરવા માટે બહુમુખી પસંદગી છે, ખાસ કરીને જ્યારે સાધનો સાથે જોડવામાં આવે ત્યારે છબી વિશ્લેષણ માટે.

બિનજરૂરી જોડાણોને બાકાત રાખવું, જેમ કે સહી ઇમેજ, કાર્યક્ષમ કાર્યપ્રવાહ માટે નિર્ણાયક છે. પાયથોન સ્ક્રિપ્ટ્સ અથવા પાવર ઓટોમેટ જેવા ટૂલ્સનો ઉપયોગ કરીને, તમે વપરાશકર્તાઓ દ્વારા મોકલવામાં આવેલી બોડી ઇમેજને જાળવી રાખીને સામગ્રીને બુદ્ધિપૂર્વક ફિલ્ટર કરી શકો છો. આ ઉકેલો સમય બચાવે છે અને ભૂલો ઘટાડે છે. 💡

વિચારશીલ ફિલ્ટરિંગ તકનીકો સાથે, જેમ કે મેટાડેટા વિશ્લેષણ અને ગતિશીલ અભિવ્યક્તિઓ, તમારી ઓટોમેશન પ્રક્રિયાઓ વધુ સ્માર્ટ બની શકે છે. માત્ર અર્થપૂર્ણ જોડાણો જ સંગ્રહિત છે તેની ખાતરી કરીને, તમે એક સીમલેસ અનુભવ બનાવો છો, પછી ભલેને પ્લાનર કાર્યોનું આયોજન કરવું હોય અથવા ફાઇલોને સમન્વયિત કરવી .

  1. જોડાણોનું સંચાલન કરવા માટે પાવર ઓટોમેટનો ઉપયોગ કરવા પર વિગતવાર માર્ગદર્શન માઇક્રોસોફ્ટ પાવર ઓટોમેટ દસ્તાવેજોમાંથી મેળવવામાં આવ્યું હતું. પર વધુ જાણો માઈક્રોસોફ્ટ પાવર ઓટોમેટ ડોક્યુમેન્ટેશન .
  2. પ્રોગ્રામેટિકલી ઇમેઇલ જોડાણોને હેન્ડલ કરવા માટેની આંતરદૃષ્ટિ Python ઇમેઇલ લાઇબ્રેરી સંદર્ભમાંથી સ્વીકારવામાં આવી હતી. તેને અહીં ઍક્સેસ કરો: પાયથોન ઈમેઈલ લાઈબ્રેરી .
  3. IANA MIME મીડિયા પ્રકારો રજિસ્ટ્રી દ્વારા MIME પ્રકારો અને મેટાડેટા ફિલ્ટરિંગ પરની માહિતી આપવામાં આવી હતી. મુલાકાત લો: IANA MIME પ્રકારો રજિસ્ટ્રી .
  4. સ્વચાલિત વર્કફ્લોમાં હસ્તાક્ષર છબીઓને બાકાત રાખવા માટેની વ્યૂહરચનાઓ સ્ટેક ઓવરફ્લો પરના વપરાશકર્તા મંચો દ્વારા પ્રેરિત હતી. પર સંબંધિત ચર્ચાઓનું અન્વેષણ કરો સ્ટેક ઓવરફ્લો .