自己编写的sublime text 3 插件
一些小功能,比较杂。
具体的功能在这里查看

1、本地环境的php运行结果获取。

2、快捷打开常用的文件,文件夹,url。(ctrl+shift+a)

3、常用的缩进转换。

下边是网络爬虫代码。
#py开启线程获取网络内容
class contrast_fileCommand(sublime_plugin.TextCommand):
def run(self,edit,toS=''):
if toS =='':return
shortDir='/lib/flyskyyun/bat_auto/php/'+toS+'/'
f_dir=common.sett.get('v_test_dir')+shortDir
pUrl=common.sett.get('v_test_url')
file_ar=os.listdir(f_dir)
self.runn=len(file_ar)
self.val=''
for f in file_ar:
url=pUrl+shortDir+f
thread = common.PrefixrApiCall(url,'html')
thread.start()
self.handle_threads(thread) def handle_threads(self, thread, i=0, dir=1 ):
before = i % 8
after = (7) - before
if not after: dir = -1
if not before: dir = 1
i += dir
if thread.is_alive():
self.view.set_status('prefixr', 'Prefixr [%s=%s]'% (' ' * before, ' ' * after))
sublime.set_timeout(lambda: self.handle_threads( thread, i, dir ), 100)
return
try: content=thread.result.decode('utf-8')
except :
try: content=thread.result.decode('gbk')
except :
print(thread.result)
content='编码错误'
try:
b_json=json.loads(content)
b_json=json.dumps(b_json,ensure_ascii=False,sort_keys=True, indent=2)
except :
b_json=content
self.runn-=1
self.val+=b_json if self.runn == 0:
self.view.erase_status('prefixr')
w = sublime.active_window()
r=w.create_output_panel("expec")
r.settings().set("word_wrap", True)
r.run_command('append', {'characters': self.val, 'force': True, 'scroll_to_end': True})
r.show(0)
w.run_command("show_panel", {"panel": "output.expec"}) # 获取网络内容
class PrefixrApiCall(threading.Thread):
def __init__(self,url,tr='json',typ=''):
self.typ = typ
self.url = url
self.tr = tr
self.result = ''
threading.Thread.__init__(self)
def run(self):
if self.typ == 'open_new':
print(1111)
import http.cookiejar
import urllib.parse
import urllib.error
tr=self.tr
cookie_filename = sett.get('v_plug_dir')+'/SubPhp/file/9.txt'
cookie = http.cookiejar.MozillaCookieJar(cookie_filename)
# FileCookieJar(filename):创建FileCookieJar实例,检索cookie信息并将信息存储到文件中,filename是文件名。
# MozillaCookieJar(filename):创建与Mozilla cookies.txt文件兼容的FileCookieJar实例。
# LWPCookieJar(filename):创建与libwww-perl Set-Cookie3文件兼容的FileCookieJar实例。
from http import cookies
cookie.load(cookie_filename, ignore_discard=True, ignore_expires=True)
openner=urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cookie))
try:
headers={ 'User-Agent' : 'Mozilla/4.0 (compatible; MSIE5.5; Windows NT)'}
text=open(sett.get('v_plug_dir')+'/SubPhp/file/0.txt').read()
text=reg_function(text,['ss','l','n'])
data=text.encode('utf-8')
# 转换编码
# self.url=urllib.parse.quote(self.url)
response=openner.open(self.url,data)
self.result=response.read()
# data=urllib.parse.urlencode(values).encode('utf-8')
# response=urllib.request.urlopen(urllib.request.Request(self.url, data, headers))
# self.result=response.read()
except urllib.error.HTTPError as e : # except urllib.error.HTTPError as e:
print(self.url)
print(self.result)
if tr=='json': self.result = '{"status": 0, "message":"网络获取失败"}'.encode('utf-8')
else: self.result = '页面错误'.encode('utf-8')
cookie.save(ignore_discard=True, ignore_expires=True) # 保存cookie到cookie.txt中
return
自己编写的sublime text 3 插件的更多相关文章
- 开发者最常用的 8 款 Sublime Text 3 插件
转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0228/177.html?1456925631Sublime Text作为一个尽为人知的代码编辑器, ...
- 安装Sublime Text 3插件的方法
直接安装 安装Sublime text 3插件很方便,可以直接下载安装包解压缩到Packages目录(菜单->preferences->packages). 使用Package Contr ...
- 8款实用Sublime text 3插件推荐
Sublime Text作为一个尽为人知的代码编辑器,其优点不用赘述.界面整洁美观.文本功能强大,且运行速度极快,非常适合编写代码,写文章做笔记.Sublime Text还支持Mac.Windows和 ...
- 推荐!Sublime Text 最佳插件列表
本文由 伯乐在线 - 艾凌风 翻译,黄利民 校稿.英文出处:ipestov.com.欢迎加入翻译组. 本文收录了作者辛苦收集的Sublime Text最佳插件,很全. 最佳的Sublime Text ...
- Sublime Text 3插件安装方法
安装Sublime Tex 3t插件的方法: 按快捷键Ctrl + ~ 调出console 粘贴以下代码到console并回车: import urllib.request,os; pf = 'Pac ...
- 转: sublime text常用插件和快捷键
Sublime Text 2是一个轻量.简洁.高效.跨平台的编辑器.博主之前一直用notepdd++写前端代码,用得也挺顺手了,早就听说sublime的大名,一直也懒得去试试看,认为都是工具用着顺手就 ...
- Sublime Text 最佳插件列表
http://blog.jobbole.com/79326/ 推荐!Sublime Text 最佳插件列表 2014/07/25 · 工具与资源 · 26.1K 阅读 · 2 评论 · Sublime ...
- 安装Sublime Text 3插件的方法:
安装Sublime Text 3插件的方法: 朋友们,小站活着不容易,全靠广告费养着了,如果本文对你有帮助.麻烦动下手点下页面的广告吧,谢谢! 直接安装 安装Sublime text 2插件很方便,可 ...
- Sublime Text 3 插件整理
Sublime Text作为一个尽为人知的代码编辑器,其优点不用赘述.界面整洁美观.文本功能强大,且运行速度极快,非常适合编写代码,写文章做笔记.Sublime Text还支持Mac.Windows和 ...
随机推荐
- LIVE555研究之三:LIVE555基础
LIVE555基础 LIVE555是为流媒体提供解决方式的跨平台C++开源项目.从今天起我们将正式開始深入LIVE555代码. 一.各库简要介绍 LIVE555下包括LiveMedia.UsageEn ...
- poj 3253 Fence Repair(优先队列+哈夫曼树)
题目地址:POJ 3253 哈夫曼树的结构就是一个二叉树,每个父节点都是两个子节点的和. 这个题就是能够从子节点向根节点推. 每次选择两个最小的进行合并.将合并后的值继续加进优先队列中.直至还剩下一个 ...
- Java中字符流与字节流的区别
字符流处理的单元为2个字节的Unicode字符,分别操作字符.字符数组或字符串,而字节流处理单元为1个字节,操作字节和字节数组.所以字符流是由Java虚拟机将字节转化为2个字节的Unicode字符为单 ...
- 在redhat6下配置yum源的使用
有好多朋友使用linux redhat版本是不是还在为rpm包的安装而烦恼,yum工具的使用无意是解决这一难题的好工具,他可以解决包安装中依赖问题,但是对于redhat版本的系统来说如果 ...
- quartz源码分析之深刻理解job,sheduler,calendar,trigger及listener之间的关系
org.quartz包 包org.quartz是Quartz的主包,包含了客户端接口. 其中接口有: Calendar接口: 定义了一个关联Trigger可能(或者不可能)触发的时间空间.它没有定义触 ...
- Clean Code(二):函数
笔记2:函数1.短小.还要更短小 每个函数都一目了然,每个函数灰依序把你带到下一个函数 if.else.while语句等,其中的代码块应该只有一行,块内调用的函数名称应该较具有说明性2.只 ...
- 利用javascript实现文本的自动输出
主要利用了setTimeout(),递归和String.substring(); 做出的效果就像是有一个打字员在打字. <!doctype html> <html lang=&quo ...
- zzzzw_在线考试系统②管理员篇章
今天实现了管理的功能,谈谈遇到的问题!我先上图 图一 管理员的数据库 在action中访问Servlet API的非IoC方式之一:使用apache.struts2.ServletActionCo ...
- c#调用c++ dll(一)
首先来说说c++中的dll 核心的一些知识 比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作.可能存在一些模块的功能较为通用,在构造其它软件系统时 ...
- Linux中tshark(wireshark)抓包工具使用方法详解
在Linux下,当我们需要抓取网络数据包分析时,通常是使用tcpdump抓取网络raw数据包存到一个文件,然后下载到本地使用wireshark界面网络分析工具进行网络包分析.最近才发现,原来wires ...