本文整理汇总了Python中weechat.infolist_integer函数的典型用法代码示例。如果您正苦于以下问题:Python infolist_integer函数的具体用法?Python infolist_integer怎么用?Python infolist_integer使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了infolist_integer函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: find_channels
def find_channels():
"""Return list of servers and channels"""
#@TODO: make it return a dict with more options like "nicks_count etc."
items = {}
infolist = w.infolist_get('irc_server', '', '')
# populate servers
while w.infolist_next(infolist):
items[w.infolist_string(infolist, 'name')] = ''
w.infolist_free(infolist)
# populate channels per server
for server in items.keys():
keys = []
keyed_channels = []
unkeyed_channels = []
items[server] = '' #init if connected but no channels
infolist = w.infolist_get('irc_channel', '', server)
while w.infolist_next(infolist):
if w.infolist_integer(infolist, 'nicks_count') == 0:
#parted but still open in a buffer: bit hackish
continue
if w.infolist_integer(infolist, 'type') == 0:
key = w.infolist_string(infolist, "key")
if len(key) > 0:
keys.append(key)
keyed_channels.append(w.infolist_string(infolist, "name"))
else :
unkeyed_channels.append(w.infolist_string(infolist, "name"))
items[server] = ','.join(keyed_channels + unkeyed_channels)
if len(keys) > 0:
items[server] += ' %s' % ','.join(keys)
w.infolist_free(infolist)
return items
开发者ID:AlanSherman,项目名称:.weechat,代码行数:35,代码来源:autojoin.py
示例2: find_channels
def find_channels():
"""Return list of servers and channels"""
#@TODO: make it return a dict with more options like "nicks_count etc."
items = {}
infolist = w.infolist_get('irc_server', '', '')
# populate servers
while w.infolist_next(infolist):
items[w.infolist_string(infolist, 'name')] = ''
w.infolist_free(infolist)
# populate channels per server
for server in items.keys():
items[server] = '' #init if connected but no channels
infolist = w.infolist_get('irc_channel', '', server)
while w.infolist_next(infolist):
if w.infolist_integer(infolist, 'nicks_count') == 0:
#parted but still open in a buffer: bit hackish
continue
if w.infolist_integer(infolist, 'type') == 0:
channel = w.infolist_string(infolist, "buffer_short_name")
items[server] += '%s,' %channel
w.infolist_free(infolist)
return items
开发者ID:sitaktif,项目名称:weechat-scripts,代码行数:25,代码来源:autojoin.py
示例3: hotlist_dict
def hotlist_dict():
"""Return the contents of the hotlist as a dictionary.
The returned dictionary has the following structure:
>>> hotlist = {
... "0x0": { # string representation of the buffer pointer
... "count_low": 0,
... "count_message": 0,
... "count_private": 0,
... "count_highlight": 0,
... }
... }
"""
hotlist = {}
infolist = weechat.infolist_get("hotlist", "", "")
while weechat.infolist_next(infolist):
buffer_pointer = weechat.infolist_pointer(infolist, "buffer_pointer")
hotlist[buffer_pointer] = {}
hotlist[buffer_pointer]["count_low"] = weechat.infolist_integer(
infolist, "count_00")
hotlist[buffer_pointer]["count_message"] = weechat.infolist_integer(
infolist, "count_01")
hotlist[buffer_pointer]["count_private"] = weechat.infolist_integer(
infolist, "count_02")
hotlist[buffer_pointer]["count_highlight"] = weechat.infolist_integer(
infolist, "count_03")
weechat.infolist_free(infolist)
return hotlist
开发者ID:DarkDefender,项目名称:scripts,代码行数:28,代码来源:buffer_autohide.py
示例4: update_title
def update_title(data, signal, signal_data):
''' The callback that adds title. '''
if w.config_get_plugin('short_name') == 'on':
title = w.buffer_get_string(w.current_buffer(), 'short_name')
else:
title = w.buffer_get_string(w.current_buffer(), 'name')
hotlist = w.infolist_get('hotlist', '', '')
hot_text = ''
while w.infolist_next(hotlist):
priority = w.infolist_integer(hotlist, 'priority')
if priority >= int(w.config_get_plugin('title_priority')):
number = w.infolist_integer(hotlist, 'buffer_number')
thebuffer = w.infolist_pointer(hotlist, 'buffer_pointer')
name = w.buffer_get_string(thebuffer, 'short_name')
hot_text += ' %s' % number
if hot_text:
title += ' [A:%s]' % hot_text
w.infolist_free(hotlist)
w.window_set_title(title)
return w.WEECHAT_RC_OK
开发者ID:aimeeble,项目名称:dotfiles,代码行数:25,代码来源:title.py
示例5: command_main
def command_main(data, buffer, args):
infolist = w.infolist_get("buffer", "", "")
buffer_groups = {}
results = []
buffer_count = 0
merge_count = 0
numbers = set()
while w.infolist_next(infolist):
bplugin = w.infolist_string(infolist, "plugin_name")
bname = w.infolist_string(infolist, "name")
bpointer = w.infolist_pointer(infolist, "pointer")
bnumber = w.infolist_integer(infolist, "number")
btype = w.buffer_get_string(bpointer, 'localvar_type')
if not bnumber in numbers:
numbers.add(bnumber)
else:
merge_count += 1
if btype == 'server':
bdesc = 'servers'
elif btype == 'channel':
bdesc = 'channels'
elif btype == 'private':
bdesc = 'queries'
else:
bdesc = bplugin
buffer_groups.setdefault(bdesc,[]).append({'name': bname, 'pointer': bpointer})
w.infolist_free(infolist)
infolist = w.infolist_get("window", "", "")
windows_v = set()
windows_h = set()
windows = set()
while w.infolist_next(infolist):
window = w.infolist_pointer(infolist, "pointer")
window_w = w.infolist_integer(infolist, "width_pct")
window_h = w.infolist_integer(infolist, "height_pct")
windows.add(window)
if window_h == 100 and window_w != 100:
windows_v.add(window)
elif window_w == 100 and window_h != 100:
windows_h.add(window)
#else: #both 100%, thus no splits
w.infolist_free(infolist)
window_count = len(windows)
for desc, buffers in buffer_groups.iteritems():
buffer_count += len(buffers)
results.append('%i %s' % (len(buffers), desc))
buffer_stats = ', '.join(sorted(results, key = lambda item: (int(item.partition(' ')[0]) if item[0].isdigit() else float('inf'), item),reverse=True)) # descending numerical sort of strings
stats_string = '%i buffers (%i merged): %s; %i windows' % (buffer_count, merge_count, buffer_stats, window_count)
if '-split' in args:
stats_string += ": %i vertically / %i horizontally split" % (len(windows_v), len(windows_h))
w.command("", "/input insert %s" % stats_string)
return w.WEECHAT_RC_OK
开发者ID:DarkDefender,项目名称:scripts,代码行数:59,代码来源:weestats.py
示例6: chanact_cb
def chanact_cb(*args):
''' Callback ran on hotlist changes '''
global keydict
hotlist = w.infolist_get('hotlist', '', '')
activity = []
while w.infolist_next(hotlist):
priority = w.infolist_integer(hotlist, 'priority')
if priority < int(w.config_get_plugin('lowest_priority')):
continue
int_number = w.infolist_integer(hotlist, 'buffer_number')
number = str(int_number)
thebuffer = w.infolist_pointer(hotlist, 'buffer_pointer')
name = w.buffer_get_string(thebuffer, 'short_name')
color = w.config_get_plugin('color_default')
if priority > 0:
color = w.config_get_plugin('color_%s' %priority)
if number in keydict:
number = keydict[number]
entry = '%s%s%s' % (w.color(color), number, w.color('reset'))
elif name in keydict:
name = keydict[name]
entry = '%s%s%s' % (w.color(color), name, w.color('reset'))
elif name:
entry = '%s%s%s:%s%s%s' % (
w.color('default'),
number,
w.color('reset'),
w.color(color),
name[:int(w.config_get_plugin('item_length'))],
w.color('reset'))
else:
entry = '%s%s%s' % (
w.color(color),
number,
w.color(reset))
activity.append((entry, thebuffer, sort_rank(thebuffer, priority), int_number))
if w.config_get_plugin('sort_by_number') == "on":
activity.sort(key=lambda t: int(t[3]))
else:
activity.sort(key=lambda t: int(t[2]), reverse=True)
w.infolist_free(hotlist)
if activity:
message = w.config_get_plugin('message')
delim = w.config_get_plugin('delimiter')
return message + delim.join(a[0] for a in activity)
else:
return ''
开发者ID:DarkDefender,项目名称:scripts,代码行数:56,代码来源:chanact.py
示例7: scroll_buffer
def scroll_buffer(self):
infolist = weechat.infolist_get("window", "", "current")
if (weechat.infolist_next(infolist)):
start_line_y = weechat.infolist_integer(infolist, "start_line_y")
chat_height = weechat.infolist_integer(infolist, "chat_height")
if(start_line_y > self.current_line):
weechat.command(self.url_buffer, "/window scroll -%i" %(start_line_y - self.current_line))
elif(start_line_y <= self.current_line - chat_height):
weechat.command(self.url_buffer, "/window scroll +%i"%(self.current_line - start_line_y - chat_height + 1))
weechat.infolist_free(infolist)
开发者ID:seiji,项目名称:weechat-linkmon,代码行数:10,代码来源:urlhangar.py
示例8: get_connected_servers
def get_connected_servers() -> Generator[str, None, None]:
""" return a list of connected servers that are not AWAY """
infolist = w.infolist_get("irc_server", "", "")
if infolist:
while w.infolist_next(infolist):
if (w.infolist_integer(infolist, "is_connected")
and not w.infolist_integer(infolist, "is_away")):
yield w.infolist_string(infolist, "name")
w.infolist_free(infolist)
开发者ID:miniCruzer,项目名称:irc-scripts,代码行数:10,代码来源:autoaway.py
示例9: command_main
def command_main(data, buffer, args):
infolist = w.infolist_get("buffer", "", "")
buffer_groups = {}
results = []
buffer_count = 0
merge_count = 0
numbers = set()
while w.infolist_next(infolist):
bplugin = w.infolist_string(infolist, "plugin_name")
bname = w.infolist_string(infolist, "name")
bpointer = w.infolist_pointer(infolist, "pointer")
bnumber = w.infolist_integer(infolist, "number")
if not bnumber in numbers:
numbers.add(bnumber)
else:
merge_count += 1
btype = bplugin
if bplugin == 'irc':
if 'server.' in bname:
btype = '%s servers' % btype
elif '#' in bname:
btype = '%s channels' % btype
else:
btype = '%s queries' % btype
buffer_groups.setdefault(btype,[]).append({'name': bname, 'pointer': bpointer})
w.infolist_free(infolist)
infolist = w.infolist_get("window", "", "")
windows_v = set()
windows_h = set()
windows = set()
while w.infolist_next(infolist):
window = w.infolist_pointer(infolist, "pointer")
window_w = w.infolist_integer(infolist, "width_pct")
window_h = w.infolist_integer(infolist, "height_pct")
windows.add(window)
if window_h == 100 and window_w != 100:
windows_v.add(window)
elif window_w == 100 and window_h != 100:
windows_h.add(window)
#else: #both 100%, thus no splits
w.infolist_free(infolist)
window_count = len(windows)
for bplugin, buffers in buffer_groups.iteritems():
buffer_count += len(buffers)
results.append('%i %s' % (len(buffers), bplugin))
buffer_stats = ', '.join(sorted(results))
stats_string = '%i windows used (%i vertically / %i horizontally split). %i (of which %i merged) buffers open: %s' % (window_count, len(windows_v), len(windows_h), buffer_count, merge_count, buffer_stats)
w.command("", "/input insert %s" % stats_string)
return w.WEECHAT_RC_OK
开发者ID:idk,项目名称:moo-skel,代码行数:55,代码来源:weestats.py
示例10: exclude_hotlist
def exclude_hotlist():
if OPTIONS['hotlist'] == '0' or OPTIONS['hotlist'] =='':
return weechat.WEECHAT_RC_OK
infolist = weechat.infolist_get('hotlist', '', '')
while weechat.infolist_next(infolist):
buffer_number = weechat.infolist_integer(infolist, 'buffer_number')
priority = weechat.infolist_integer(infolist, 'priority')
if int(OPTIONS['hotlist']) == priority or OPTIONS['hotlist'] == '4':
weechat.command('','/buffer unhide %s' % buffer_number)
weechat.infolist_free(infolist)
return weechat.WEECHAT_RC_OK
开发者ID:weechatter,项目名称:weechat-scripts,代码行数:11,代码来源:collapse_channel.py
示例11: ugCheckLineOutsideWindow
def ugCheckLineOutsideWindow():
global urlGrab , urlGrabSettings, urlgrab_buffer, current_line, max_buffer_length
if (urlgrab_buffer):
infolist = weechat.infolist_get("window", "", "current")
if (weechat.infolist_next(infolist)):
start_line_y = weechat.infolist_integer(infolist, "start_line_y")
chat_height = weechat.infolist_integer(infolist, "chat_height")
if(start_line_y > current_line):
weechat.command(urlgrab_buffer, "/window scroll -%i" %(start_line_y - current_line))
elif(start_line_y <= current_line - chat_height):
weechat.command(urlgrab_buffer, "/window scroll +%i"%(current_line - start_line_y - chat_height + 1))
weechat.infolist_free(infolist)
开发者ID:bradfier,项目名称:configs,代码行数:12,代码来源:urlgrab.py
示例12: get_logfile
def get_logfile():
logfilename = ""
current_buffer = weechat.current_buffer()
infolist = weechat.infolist_get('logger_buffer','','')
while weechat.infolist_next(infolist):
bpointer = weechat.infolist_pointer(infolist, 'buffer')
if current_buffer == bpointer:
logfilename = weechat.infolist_string(infolist, 'log_filename')
log_enabled = weechat.infolist_integer(infolist, 'log_enabled')
log_level = weechat.infolist_integer(infolist, 'log_level')
weechat.infolist_free(infolist) # free infolist()
return logfilename
开发者ID:norrs,项目名称:weechat-plugins,代码行数:12,代码来源:logsize.py
示例13: buffer_check_outside_window
def buffer_check_outside_window():
global curline
if script_buffer():
infolist = weechat.infolist_get("window", "", "current")
if weechat.infolist_next(infolist):
start_line_y = weechat.infolist_integer(infolist, "start_line_y")
chat_height = weechat.infolist_integer(infolist, "chat_height")
if start_line_y > curline:
weechat.command(script_buffer(), "/window scroll -%i" % (start_line_y - curline))
elif start_line_y <= curline - chat_height:
weechat.command(script_buffer(), "/window scroll +%i" % (curline - start_line_y - chat_height + 1))
weechat.infolist_free(infolist)
开发者ID:FiXato,项目名称:weechat_scripts,代码行数:12,代码来源:nick_colours.py
示例14: lb_check_outside_window
def lb_check_outside_window():
global lb_buffer, lb_curline
if (lb_buffer):
infolist = weechat.infolist_get("window", "", "current")
if (weechat.infolist_next(infolist)):
start_line_y = weechat.infolist_integer(infolist, "start_line_y")
chat_height = weechat.infolist_integer(infolist, "chat_height")
if(start_line_y > lb_curline):
weechat.command(lb_buffer, "/window scroll -%i" %(start_line_y - lb_curline))
elif(start_line_y <= lb_curline - chat_height):
weechat.command(lb_buffer, "/window scroll +%i"%(lb_curline - start_line_y - chat_height + 1))
weechat.infolist_free(infolist)
开发者ID:norrs,项目名称:weechat-plugins,代码行数:12,代码来源:listbuffer.py
示例15: get_servers
def get_servers():
"""Get the servers that are not away, or were set away by this script"""
infolist = w.infolist_get("irc_server", "", "")
buffers = []
while w.infolist_next(infolist):
if not w.infolist_integer(infolist, "is_connected") == 1:
continue
if not w.infolist_integer(infolist, "is_away") or w.infolist_string(
infolist, "away_message"
) == w.config_get_plugin("message"):
buffers.append((w.infolist_pointer(infolist, "buffer"), w.infolist_string(infolist, "nick")))
w.infolist_free(infolist)
return buffers
开发者ID:masterkorp,项目名称:Home-files,代码行数:14,代码来源:screen_away.py
示例16: check_nicks
def check_nicks(data, remaining_calls):
infolist = weechat.infolist_get('irc_server','','')
while weechat.infolist_next(infolist):
servername = weechat.infolist_string(infolist, 'name')
ptr_buffer = weechat.infolist_pointer(infolist,'buffer')
nick = weechat.infolist_string(infolist, 'nick')
ssl_connected = weechat.infolist_integer(infolist,'ssl_connected')
is_connected = weechat.infolist_integer(infolist,'is_connected')
if server_enabled(servername):
if nick and ssl_connected + is_connected:
ison(servername,nick,server_nicks(servername))
weechat.infolist_free(infolist)
return weechat.WEECHAT_RC_OK
开发者ID:DarkDefender,项目名称:scripts,代码行数:15,代码来源:keepnick.py
示例17: get_servers
def get_servers():
'''Get the servers that are not away, or were set away by this script'''
infolist = w.infolist_get('irc_server','','')
buffers = []
while w.infolist_next(infolist):
if not w.infolist_integer(infolist, 'is_connected') == 1:
continue
if not w.infolist_integer(infolist, 'is_away') or \
w.infolist_string(infolist, 'away_message') == \
w.config_get_plugin('message'):
buffers.append((w.infolist_pointer(infolist, 'buffer'),
w.infolist_string(infolist, 'nick')))
w.infolist_free(infolist)
return buffers
开发者ID:ronin13,项目名称:seed,代码行数:15,代码来源:screen_away.py
示例18: checknicks
def checknicks(data, remaining_calls):
serverlist = OPTIONS['serverlist'].split(',')
infolist = weechat.infolist_get('irc_server','','')
while weechat.infolist_next(infolist):
servername = weechat.infolist_string(infolist, 'name')
bufpointer = weechat.infolist_pointer(infolist,'buffer')
nick = weechat.infolist_string(infolist, 'nick')
ssl_connected = weechat.infolist_integer(infolist,'ssl_connected')
is_connected = weechat.infolist_integer(infolist,'is_connected')
if servername in serverlist:
if nick and ssl_connected + is_connected:
ison(bufpointer,servername,nick,servernicks(servername))
weechat.infolist_free(infolist)
return weechat.WEECHAT_RC_OK
开发者ID:megalithic,项目名称:dotfiles,代码行数:15,代码来源:keepnick.py
示例19: format_option
def format_option(match):
"""Replace ${xxx} by its value in option format."""
global cmdhelp_settings, cmdhelp_option_infolist
global cmdhelp_option_infolist_fields
string = match.group()
end = string.find('}')
if end < 0:
return string
field = string[2:end]
color1 = ''
color2 = ''
pos = field.find(':')
if pos:
color1 = field[0:pos]
field = field[pos+1:]
if color1:
color1 = weechat.color(color1)
color2 = weechat.color(cmdhelp_settings['color_option_help'])
fieldtype = cmdhelp_option_infolist_fields.get(field, '')
if fieldtype == 'i':
string = str(weechat.infolist_integer(cmdhelp_option_infolist, field))
elif fieldtype == 's':
string = weechat.infolist_string(cmdhelp_option_infolist, field)
elif fieldtype == 'p':
string = weechat.infolist_pointer(cmdhelp_option_infolist, field)
elif fieldtype == 't':
date = weechat.infolist_time(cmdhelp_option_infolist, field)
# since WeeChat 2.2, infolist_time returns a long integer instead of
# a string
if not isinstance(date, str):
date = time.strftime('%F %T', time.localtime(int(date)))
string = date
return '%s%s%s' % (color1, string, color2)
开发者ID:DarkDefender,项目名称:scripts,代码行数:33,代码来源:cmd_help.py
示例20: disable_logging
def disable_logging(self):
"""Return the previous logger level and set the buffer logger level
to 0. If it was already 0, return None."""
# If previous_log_level has not been previously set, return the level
# we detect now.
if not hasattr(self, 'previous_log_level'):
infolist = weechat.infolist_get('logger_buffer', '', '')
buf = self.buffer()
previous_log_level = 0
while weechat.infolist_next(infolist):
if weechat.infolist_pointer(infolist, 'buffer') == buf:
previous_log_level = weechat.infolist_integer(
infolist, 'log_level')
if self.is_logged():
weechat.command(buf, '/mute logger disable')
self.print_buffer(
'Logs have been temporarily disabled for the session. They will be restored upon finishing the OTR session.')
break
weechat.infolist_free(infolist)
return previous_log_level
# If previous_log_level was already set, it means we already altered it
# and that we just detected an already modified logging level.
# Return the pre-existing value so it doesn't get lost, and we can
# restore it later.
else:
return self.previous_log_level
开发者ID:LogicalDash,项目名称:weechat-otr,代码行数:31,代码来源:weechat_otr.py
注:本文中的weechat.infolist_integer函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论