🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #28657

Osadzanie obrazków w Html za pomocą Pythona - jedna wersja działa inna nie - dlaczego?!?

#28657
From: Szyk Cech
Date: Thu, 04 Apr 2019 13:29
43 lines
2549 bytes
Witam
Podam pełną wersję mojej funkcji do osadzania całego obrazka w kodzie 
html. Skrypt wykrywa normalny odnośnik do obrazka i go wymienia na ciało 
kodowane w Base64. Oto kod:

def gEmbedImages(aPage):
    lResult = aPage
    lRe = 
re.compile(r"""<img\s+src\s*=\s*\"(.+?)"\s+alt\s*=\s*"(.+?)"/>""", 
re.IGNORECASE)
    lMatch = lRe.search(aPage)
    while lMatch:
       if not os.path.isfile(lMatch.group(1)):
          raise Exception("File not found! File: 
{0}".format(lMatch.group(1)))
       f = open(lMatch.group(1), 'rb')
       #lBase64 = """<img alt="{1}" 
src=”data:image/png;base64,{0}"/>""".format(base64.b64encode(f.read()).decode('ascii').replace('\n', 
''), lMatch.group(2))
       lBase64 = """<img alt="%s" src="data:image/png;base64,%s"/>""" % 
(lMatch.group(2), 
base64.b64encode(f.read()).decode('ascii').replace('\n', ''))
       lResult = lResult.replace(lMatch.group(0), lBase64)
       lMatch = lRe.search(aPage, lMatch.end())
    return lResult

Moje pytanie jest takie:
Dlaczego linia:
       #lBase64 = """<img alt="{1}" 
src=”data:image/png;base64,{0}"/>""".format(base64.b64encode(f.read()).decode('ascii').replace('\n', 
''), lMatch.group(2))

nie działa (błędnie koduje)?
A linia:

       lBase64 = """<img alt="%s" src="data:image/png;base64,%s"/>""" % 
(lMatch.group(2), 
base64.b64encode(f.read()).decode('ascii').replace('\n', ''))

działa bez zarzutu?!?

dzięki i pozdro
Szyk Cech
Technical Details
Message-ID: <7FnpE.2$wd2.0@fx24.fr7>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!3.eu.feeder.erje.net!feeder.erje.net!feeder2.ecngs.de!ecngs!feeder.ecngs.de!81.171.118.64.MISMATCH!peer04.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!fx24.fr7.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!3.eu.feeder.erje.net!feeder.erje.net!feeder2.ecngs.de!ecngs!feeder.ecngs.de!81.171.118.64.MISMATCH!peer04.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!fx24.fr7.POSTED!not-for-mail
Newsgroups: pl.comp.lang.python
X-Mozilla-News-Host: snews://newshosting.com:563
From: Szyk Cech <szykcech@spoko.pl>
Subject: Osadzanie obrazków w Html za
 pomocą Pythona - jedna wersja działa inna
 nie - dlaczego?!?
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1
MIME-Version: 1.0
Lines: 43
Message-ID: <7FnpE.2$wd2.0@fx24.fr7>
X-Complaints-To: abuse(at)newshosting.com
NNTP-Posting-Date: Thu, 04 Apr 2019 13:29:39 UTC
Organization: Newshosting.com - Highest quality at a great price! www.newshosting.com
Date: Thu, 4 Apr 2019 15:29:38 +0200
X-Received-Bytes: 2289
X-Received-Body-CRC: 2710044818
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit