Merge pull request #99 from tomjakubowski/tagged-command
add .tagged? command
This commit is contained in:
commit
4f1d49ef04
|
@ -135,10 +135,19 @@ def get_nicks_by_tagset(db, chan, tagset):
|
||||||
return 'no nicks found with tags "%s"' % tagset
|
return 'no nicks found with tags "%s"' % tagset
|
||||||
return 'nicks tagged "%s": ' % tagset + winnow(nicks)
|
return 'nicks tagged "%s": ' % tagset + winnow(nicks)
|
||||||
|
|
||||||
|
def get_is_nick_tagged(db, chan, nick, tag):
|
||||||
|
found = db.execute("select 1 from tag"
|
||||||
|
" where lower(nick)=lower(?)"
|
||||||
|
" and lower(subject)=lower(?)"
|
||||||
|
" and chan=?", (nick, tag, chan)).fetchone()
|
||||||
|
if found:
|
||||||
|
return '%s has been tagged "%s"' % (nick, tag)
|
||||||
|
else:
|
||||||
|
return '%s has not been tagged "%s"' % (nick, tag)
|
||||||
|
|
||||||
@hook.command
|
@hook.command
|
||||||
def tag(inp, chan='', db=None):
|
def tag(inp, chan='', db=None):
|
||||||
'.tag <nick> <tag> -- marks <nick> as <tag> {related: .untag, .tags, .tagged}'
|
'.tag <nick> <tag> -- marks <nick> as <tag> {related: .untag, .tags, .tagged, .tagged?}'
|
||||||
|
|
||||||
db.execute('create table if not exists tag(chan, subject, nick)')
|
db.execute('create table if not exists tag(chan, subject, nick)')
|
||||||
|
|
||||||
|
@ -161,7 +170,7 @@ def tag(inp, chan='', db=None):
|
||||||
|
|
||||||
@hook.command
|
@hook.command
|
||||||
def untag(inp, chan='', db=None):
|
def untag(inp, chan='', db=None):
|
||||||
'.untag <nick> <tag> -- unmarks <nick> as <tag> {related: .tag, .tags, .tagged}'
|
'.untag <nick> <tag> -- unmarks <nick> as <tag> {related: .tag, .tags, .tagged, .tagged?}'
|
||||||
|
|
||||||
delete = re.match(r'(\S+) (.+)$', inp)
|
delete = re.match(r'(\S+) (.+)$', inp)
|
||||||
|
|
||||||
|
@ -174,7 +183,7 @@ def untag(inp, chan='', db=None):
|
||||||
|
|
||||||
@hook.command
|
@hook.command
|
||||||
def tags(inp, chan='', db=None):
|
def tags(inp, chan='', db=None):
|
||||||
'.tags <nick>/list -- get list of tags for <nick>, or a list of tags {related: .tag, .untag, .tagged}'
|
'.tags <nick>/list -- get list of tags for <nick>, or a list of tags {related: .tag, .untag, .tagged, .tagged?}'
|
||||||
if inp == 'list':
|
if inp == 'list':
|
||||||
return get_tag_counts_by_chan(db, chan)
|
return get_tag_counts_by_chan(db, chan)
|
||||||
|
|
||||||
|
@ -187,10 +196,22 @@ def tags(inp, chan='', db=None):
|
||||||
|
|
||||||
@hook.command
|
@hook.command
|
||||||
def tagged(inp, chan='', db=None):
|
def tagged(inp, chan='', db=None):
|
||||||
'.tagged <tag> [& tag...] -- get nicks marked as <tag> (separate multiple tags with &) {related: .tag, .untag, .tags}'
|
'.tagged <tag> [& tag...] -- get nicks marked as <tag> (separate multiple tags with &) {related: .tag, .untag, .tags, .tagged?}'
|
||||||
|
|
||||||
return get_nicks_by_tagset(db, chan, inp)
|
return get_nicks_by_tagset(db, chan, inp)
|
||||||
|
|
||||||
|
@hook.command('tagged?')
|
||||||
|
def is_tagged(inp, chan='', db=None):
|
||||||
|
'.tagged? <nick> <tag> -- checks if <nick> has been marked as <tag> {related: .tag, .untag, .tags, .tagged}'
|
||||||
|
|
||||||
|
args = re.match(r'(\S+) (.+)$', inp)
|
||||||
|
|
||||||
|
if args:
|
||||||
|
nick, tag = args.groups()
|
||||||
|
return get_is_nick_tagged(db, chan, nick, tag)
|
||||||
|
|
||||||
|
else:
|
||||||
|
return is_tagged.__doc__
|
||||||
|
|
||||||
def distance(lat1, lon1, lat2, lon2):
|
def distance(lat1, lon1, lat2, lon2):
|
||||||
deg_to_rad = math.pi / 180
|
deg_to_rad = math.pi / 180
|
||||||
|
|
Loading…
Reference in New Issue