# HG changeset patch
# User Dmitriy Morozov <morozov@cs.duke.edu>
# Date 1214837727 14400
# Node ID f7462be0b274217be51a749da9d4c836543e9173
# Parent  0c241cd7c989cd666a023e2141a641b428905c66
Made it possible to remove author from the paper, added issue for "authors" command

diff -r 0c241cd7c989 -r f7462be0b274 .issues/8b7421be0f725ccb/new/1214837703.M728267P2422Q1.metatron
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.issues/8b7421be0f725ccb/new/1214837703.M728267P2422Q1.metatron	Mon Jun 30 10:55:27 2008 -0400
@@ -0,0 +1,9 @@
+From: Dmitriy Morozov <morozov@cs.duke.edu>
+Date: Mon, 30 Jun 2008 10:53:51
+State: new
+Subject: Merge alias and ralias into authors command
+Message-Id: <8b7421be0f725ccb-0-artemis@metatron>
+
+Create authors command that lists all the authors (with their aliases if any).
+Use it also to add/remove aliases from a given author (remove with -alias). As
+a result get rid of alias and ralias commands.
diff -r 0c241cd7c989 -r f7462be0b274 alexandria.py
--- a/alexandria.py	Mon Jun 30 07:44:01 2008 -0400
+++ b/alexandria.py	Mon Jun 30 10:55:27 2008 -0400
@@ -194,10 +194,18 @@
         authors = author_with_commas.split(',')
         for author in authors:
             author = unicode(author.strip())
+            if author[0] == '-':
+                author = author[1:]
+                remove_author = True
+            else:
+                remove_author = False
             an = AuthorNickname.get_by(name = author)
             if an: a = an.author
             else:  a = Author.get_by_or_init(name = author)
-            a.papers.append(p)
+            if remove_author:
+                a.papers.remove(p)
+            else:
+                a.papers.append(p)
 
 def _show_nicknames():
     print "Nicknames:"