aboutsummaryrefslogtreecommitdiffstats
path: root/minidinstall/DpkgControl.py
diff options
context:
space:
mode:
Diffstat (limited to 'minidinstall/DpkgControl.py')
-rwxr-xr-xminidinstall/DpkgControl.py29
1 files changed, 14 insertions, 15 deletions
diff --git a/minidinstall/DpkgControl.py b/minidinstall/DpkgControl.py
index 4bda8c5..be08155 100755
--- a/minidinstall/DpkgControl.py
+++ b/minidinstall/DpkgControl.py
@@ -34,9 +34,8 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
import re, string
-from DpkgDatalist import *
+from .DpkgDatalist import *
from minidinstall.SignedFile import *
-from types import ListType
class DpkgParagraph(DpkgOrderedDatalist):
caseSensitive = 0
@@ -48,7 +47,7 @@ class DpkgParagraph(DpkgOrderedDatalist):
"Paragraph data from a file object."
key = None
value = None
- while 1:
+ while True:
line = f.readline()
if not line:
return
@@ -60,32 +59,32 @@ class DpkgParagraph(DpkgOrderedDatalist):
return
line = line[ :-1 ]
if line[ 0 ] != ' ':
- key, value = string.split( line, ":", 1 )
+ key, value = line.split( ":", 1 )
if value: value = value[ 1: ]
if not self.caseSensitive:
- newkey = string.lower( key )
- if not self.trueFieldCasing.has_key( key ):
+ newkey = key.lower()
+ if key not in self.trueFieldCasing:
self.trueFieldCasing[ newkey ] = key
key = newkey
else:
- if isinstance( value, ListType ):
+ if isinstance( value, list ):
value.append( line[ 1: ] )
else:
value = [ value, line[ 1: ] ]
self[ key ] = value
def _storeField( self, f, value, lead = " " ):
- if isinstance( value, ListType ):
- value = string.join( map( lambda v, lead = lead: v and ( lead + v ) or v, value ), "\n" )
+ if isinstance( value, list ):
+ value = "\n".join(list(map( lambda v, lead = lead: v and ( lead + v ) or v, value )))
else:
if value: value = lead + value
f.write( "%s\n" % ( value ) )
def _store( self, f ):
"Write our paragraph data to a file object"
- for key in self.keys():
+ for key in list(self.keys()):
value = self[ key ]
- if self.trueFieldCasing.has_key( key ):
+ if key in self.trueFieldCasing:
key = self.trueFieldCasing[ key ]
f.write( "%s:" % key )
self._storeField( f, value )
@@ -105,7 +104,7 @@ class DpkgControl(DpkgOrderedDatalist):
return p
def load( self, f ):
- while 1:
+ while True:
p = self._load_one( f )
if not p: break
self[ p[ self.key ] ] = p
@@ -113,7 +112,7 @@ class DpkgControl(DpkgOrderedDatalist):
def _store( self, f ):
"Write our control data to a file object"
- for key in self.keys():
+ for key in list(self.keys()):
self[ key ]._store( f )
f.write( "\n" )
@@ -138,8 +137,8 @@ if __name__ == "__main__":
import sys
types = { 'p' : DpkgParagraph, 'c' : DpkgControl, 's' : DpkgSourceControl }
type = sys.argv[ 1 ]
- if not types.has_key( type ):
- print "Unknown type `%s'!" % type
+ if type not in types:
+ print( "Unknown type `%s'!" % type )
sys.exit( 1 )
file = open( sys.argv[ 2 ], "r" )
data = types[ type ]()