]> git.saurik.com Git - apt.git/blobdiff - cmdline/apt-mark
merge from the mvo branch
[apt.git] / cmdline / apt-mark
index 2326ece38eb513a459447bc9effb5142eaddde0f..31383d9875be6b07c3b19036f2012d72758b8c4a 100755 (executable)
@@ -19,10 +19,10 @@ def show_automatic(filename):
     if not os.path.exists(STATE_FILE):
         return
     auto = set()
-    tagfile = apt_pkg.ParseTagFile(open(STATE_FILE))
-    while tagfile.Step():
-        pkgname = tagfile.Section.get("Package")
-        autoInst = tagfile.Section.get("Auto-Installed")
+    tagfile = apt_pkg.TagFile(open(STATE_FILE))
+    for section in tagfile:
+        pkgname = section.get("Package")
+        autoInst = section.get("Auto-Installed")
         if int(autoInst):
             auto.add(pkgname)
     print "\n".join(sorted(auto))
@@ -33,24 +33,24 @@ def mark_unmark_automatic(filename, action, pkgs):
     # open the statefile
     if os.path.exists(STATE_FILE):
         try:
-            tagfile = apt_pkg.ParseTagFile(open(STATE_FILE))
+            tagfile = apt_pkg.TagFile(open(STATE_FILE))
             outfile = open(STATE_FILE+".tmp","w")
         except IOError, msg:
             print "%s, are you root?" % (msg)
             sys.exit(1)
-        while tagfile.Step():
-            pkgname = tagfile.Section.get("Package")
-            autoInst = tagfile.Section.get("Auto-Installed")
+        for section in tagfile:
+            pkgname = section.get("Package")
+            autoInst = section.get("Auto-Installed")
             if pkgname in pkgs:
                 if options.verbose:
                     print "changing %s to %s" % (pkgname,action)
-                newsec = apt_pkg.RewriteSection(tagfile.Section,
+                newsec = apt_pkg.rewrite_section(section,
                                        [],
                                        [ ("Auto-Installed",str(action)) ])
                 pkgs.remove(pkgname)
                 outfile.write(newsec+"\n")
             else:
-                outfile.write(str(tagfile.Section)+"\n")
+                outfile.write(str(section)+"\n")
         if action == 1:
             for pkgname in pkgs:
                 if options.verbose:
@@ -78,10 +78,13 @@ if __name__ == "__main__":
 
     # get the state-file
     if not options.filename:
-        STATE_FILE = apt_pkg.Config.FindDir("Dir::State") + "extended_states"
+        STATE_FILE = apt_pkg.config.find_dir("Dir::State") + "extended_states"
     else:
         STATE_FILE=options.filename
 
+    if len(args) == 0:
+        parser.error("first argument must be 'markauto', 'unmarkauto' or 'showauto'")
+
     if args[0] == "showauto":
         show_automatic(STATE_FILE)
     else: