def test_arg_parsing_equals_in_value(self): (query, mods, dels) = commands.modify_parse_args(["title:foo=bar", "title=newTitle"]) self.assertEqual(query, ["title:foo=bar"]) self.assertEqual(mods, ["title=newTitle"])
def test_arg_parsing_delete(self): (query, mods, dels) = commands.modify_parse_args(["title:oldTitle", "title!"]) self.assertEqual(query, ["title:oldTitle"]) self.assertEqual(dels, ["title"])
def test_arg_parsing_query_with_exclaimation(self): (query, mods, dels) = commands.modify_parse_args(["title:oldTitle!", "title=newTitle!"]) self.assertEqual(query, ["title:oldTitle!"]) self.assertEqual(mods, ["title=newTitle!"])
def test_arg_parsing_equals_in_value(self): (query, mods, dels) = commands.modify_parse_args( [u"title:foo=bar", u"title=newTitle"]) self.assertEqual(query, [u"title:foo=bar"]) self.assertEqual(mods, {"title": u"newTitle"})
def test_arg_parsing_colon_query(self): (query, mods, dels) = commands.modify_parse_args(["title:oldTitle", "title=newTitle"]) self.assertEqual(query, ["title:oldTitle"]) self.assertEqual(mods, ["title=newTitle"])
def test_arg_parsing_query_with_exclaimation(self): (query, mods, dels) = commands.modify_parse_args( [u"title:oldTitle!", u"title=newTitle!"]) self.assertEqual(query, [u"title:oldTitle!"]) self.assertEqual(mods, {"title": u"newTitle!"})
def test_arg_parsing_delete(self): (query, mods, dels) = commands.modify_parse_args([u"title:oldTitle", u"title!"]) self.assertEqual(query, [u"title:oldTitle"]) self.assertEqual(dels, ["title"])
def test_arg_parsing_colon_query(self): (query, mods, dels) = commands.modify_parse_args( [u"title:oldTitle", u"title=newTitle"]) self.assertEqual(query, [u"title:oldTitle"]) self.assertEqual(mods, {"title": u"newTitle"})
def parse_modify(self, modify, model_cls): modify = util.as_string(modify) args = shlex.split(modify) query, mods, dels = modify_parse_args(decargs(args)) return ' '.join(query), mods, dels
def modify_func(self, lib, opts, args): query, mods, dels = modify_parse_args(decargs(args)) if not mods and not dels: raise ui.UserError(u'no modifications specified') self.modify_items(lib, mods, dels, query, ui.should_write(opts.write), ui.should_move(opts.move), opts.album, not opts.yes)