python实现sublime3的less编译插件示例


Posted in Python onApril 27, 2014

利用http://tool.oschina.net/less 提供的接口,发送请求进行远程编译.
再将编译好的less,保存为同名后缀为css的文件中.
第一次使用python,代码也是拼拼凑凑的.需要加上线程进行异步请求,但是不会...

import sublime, sublime_plugin
import urllib
import json
class exampleCommand(sublime_plugin.TextCommand):
 def run(self, edit):
  file_name=self.view.file_name();
  if file_name.find('.less') == -1:
   print('only .less file can compile to css!!');
   return;
  file_object_from = open(file_name);
  all_the_text = file_object_from.read();
  url = "http://tool.oschina.net/action/less/less_compile";
  data =  all_the_text.encode(encoding='UTF8');
  headers = {'User-Agent':'sublime_plugin'};
  req = urllib.request.Request(url,data,headers);
  response = urllib.request.urlopen(req);
  the_page = response.read();
  css=json.loads(the_page.decode("utf8"))['css'];
  file_object_to = open(self.view.file_name().replace('.less', '.css'), 'w')
  file_object_to.write(css);
  file_object_from.close();
  file_object_to.close();
  print(css);
Python 相关文章推荐
Python遍历文件夹和读写文件的实现方法
May 10 Python
老生常谈Python进阶之装饰器
May 11 Python
Pycharm技巧之代码跳转该如何回退
Jul 16 Python
Python编程实现蚁群算法详解
Nov 13 Python
浅谈Django REST Framework限速
Dec 12 Python
python实现求两个字符串的最长公共子串方法
Jul 20 Python
Python面向对象程序设计类的多态用法详解
Apr 12 Python
使用 Python 快速实现 HTTP 和 FTP 服务器的方法
Jul 22 Python
python3 requests库文件上传与下载实现详解
Aug 22 Python
在脚本中单独使用django的ORM模型详解
Apr 01 Python
Python QTimer实现多线程及QSS应用过程解析
Jul 11 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
Nov 12 Python
python中的实例方法、静态方法、类方法、类变量和实例变量浅析
Apr 26 #Python
Python设计模式之单例模式实例
Apr 26 #Python
Python设计模式之观察者模式实例
Apr 26 #Python
Python设计模式之代理模式实例
Apr 26 #Python
python中的列表推导浅析
Apr 26 #Python
Python中的Numpy入门教程
Apr 26 #Python
Python中的map、reduce和filter浅析
Apr 26 #Python
You might like
解析zend studio中直接导入svn中的项目的方法步骤
2013/06/21 PHP
js 获取浏览器版本以此来调整CSS的样式
2014/06/03 Javascript
js父页面与子页面不同时显示的方法
2014/10/16 Javascript
js时间日期格式化封装函数
2014/12/02 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
JavaScript中this详解
2015/09/01 Javascript
angularjs在ng-repeat中使用ng-model遇到的问题
2016/01/21 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
JavaScript面试开发常用的知识点总结
2016/08/08 Javascript
Bootstrap导航条学习使用(二)
2017/02/08 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
2017/12/04 Javascript
Iview Table组件中各种组件扩展的使用
2018/10/20 Javascript
jQuery事件多次绑定与解绑问题实例分析
2019/02/19 jQuery
JavaScript检测浏览器是否支持CSS变量代码实例
2020/04/03 Javascript
[42:24]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第一场 11.01
2020/11/02 DOTA
Python3实现从指定路径查找文件的方法
2015/05/22 Python
mysql 之通过配置文件链接数据库
2017/08/12 Python
rabbitmq(中间消息代理)在python中的使用详解
2017/12/14 Python
python3.X 抓取火车票信息【修正版】
2018/06/19 Python
Python的matplotlib绘图如何修改背景颜色的实现
2019/07/16 Python
在django view中给form传入参数的例子
2019/07/19 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
python实现画循环圆
2019/11/23 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
解决pycharm安装第三方库失败的问题
2020/05/09 Python
基于Python爬虫采集天气网实时信息
2020/06/05 Python
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
副总经理工作职责
2013/11/28 职场文书
初三物理教学反思
2014/01/21 职场文书
2014个人反腐倡廉思想汇报
2014/09/15 职场文书
2014年最新学校运动会广播稿
2014/09/17 职场文书
2015年秋季小学开学典礼主持词
2015/07/16 职场文书
酒店员工管理制度
2015/08/05 职场文书
公司借款担保书
2015/09/22 职场文书
浅析Python中的套接字编程
2021/06/22 Python