🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Pytania początkującego cz. 3

#28307
From: Mariusz Kruk
Date: Tue, 15 Nov 2011 07:44
66 lines
3379 bytes
epsilon$ while read LINE; do echo \>"$LINE"; done < "hubert depesz lubaczewski"
>1. najpierw pytanie praktyczne. parsuję maila przy pomocy klasy/modułu
>email.
>dostałem maila, wyciągam z niego przez mail.get() zawartość nagłówka.
>ale nagłółek jest mime-encodowany.
>znalazłem, że mogę go sobie przez email.header.decode_header()
>zdekodować, ale dostaję z tego listę tupli, np. takich:
>[('Re: Instalacja PostgreSQL / post\xeapy', 'iso-8859-2')]
>
>jak mogę to zamienić na normalny string?

email.charset.Charset.header_encode?

>2. jak można się połapać w dokumentacji? to pytanie takie bardziej
>ogólne, ale już tłumaczę.
>znalazłem moduł email.
>w docach do niego znalazłem informację o funkcji message_from_file
>fajnie. ale nie jest napisane co ona zwraca (obiekt jakiejś klasy, ale
>jakiej?). no nic. na sieci podpowiedzi, żeby zrobić print repr(obiekt)
>ok. dowiedziałem się, że jest to instancja email.message.Message
>fajnie.
>
>odpaliłem pythona, zrobiłem import email (taki sam jak mam w swoim
>programie), help( email.message.Message ) - i nie działa.
>znowu - na sieci podpowiedzieli, że muszę zrobić: import email.message,
>ale podobno nie jest regułą, że obcina się ostatni element z nazwy.
>
>tu pytanie: czy jest jakieś miejsce/metoda/algorytm/cokolwiek dzięki
>któremu mając "w ręku" obiekt mogę przeczytać do niego manuala - tzn. do
>jego klasy, bez zgadywania co muszę zaimportować?

#v+
$ ipython
Python 2.6.7 (r267:88850, Aug  3 2011, 15:19:01) 
Type "copyright", "credits" or "license" for more information.

IPython 0.10.2 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object'. ?object also works, ?? prints more.

In [1]: import email

In [2]: email.message_from_file?
Type:           function
Base Class:     <type 'function'>
String Form:    <function message_from_file at 0x912d8b4>
Namespace:      Interactive
File:           /usr/lib/python2.6/email/__init__.py
Definition:     email.message_from_file(fp, *args, **kws)
Docstring:
    Read a file and parse its contents into a Message object model.                                                                                                                     
    
    Optional _class and strict are passed to the Parser constructor.

#v-

O to chodzi?


-- 
\------------------------/
|  Kruk@epsilon.eu.org   |
| http://epsilon.eu.org/ |
/------------------------\
Technical Details
Message-ID: <slrnjc463f.9rq.Mariusz.Kruk@epsilon.rdc.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.onet.pl!.POSTED!epsilon.rdc.pl!not-for-mail
References: <9gr8p8-v4r.ln1@depesz.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.onet.pl!.POSTED!epsilon.rdc.pl!not-for-mail
From: Mariusz Kruk <Mariusz.Kruk@epsilon.eu.org>
Newsgroups: pl.comp.lang.python
Subject: Re: Pytania początkującego cz. 3
Date: Tue, 15 Nov 2011 08:44:47 +0100
Organization: Denied!
Lines: 66
Message-ID: <slrnjc463f.9rq.Mariusz.Kruk@epsilon.rdc.pl>
References: <9gr8p8-v4r.ln1@depesz.com>
NNTP-Posting-Host: epsilon.rdc.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1321343101 3374 77.252.106.53 (15 Nov 2011 07:45:01 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Tue, 15 Nov 2011 07:45:01 +0000 (UTC)
User-Agent: slrn/pre1.0.0-18 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit