How to use AKBusGpsParser
step 01:
sudo easy_install AKBusGpsParser
step02: Let's see a sample
#!/usr/bin/python
#coding:UTF-8
#-----------------------------------------
#-- Name : AKBusGpsParser
#-- ORG : Landpack
#-- Author : Frank AK
#-- Addr : Design In IMUT
#-- Email : landpack@sina.com
#-----------------------------------------
import MySQLdb
from AKBusGpsParser import *
#------------------------------------------------
if __name__ == '__main__': url="http://192.168.0.202/zsgj/Service/Common/onBusRealChanged"
line_id_dict={'x1':'','x2':'','h1':'',
'h2':'','k1':'','K1':'',
'K2':'','k2':'','k4':'',
'K4':'','k5':'','K5':''}
sample_gps = """*|GPS|1729|K2|2006-01-04|13:15:08|6000.0000|2000.0000\
|40|140|4|5|1|2006-01-04|13:01:04|0|0|0|01000932|1|#*"""
sample_stn="*|STN|1728|K4|2006-01-04|13:15:23|2|0|1|#" sourcekeys_gps=['star','cmd','bus_no','line_no','gps_date','gps_time','latitude','longitude','speed',
'angle','next_station','people_num','start_end_flag','send_date','send_time',
'direction','run_status','leave_flag','driver_no','driver_flag']
sourcekeys_stn=['star','cmd','bus_no','line_no','stn_date','stn_time','station_no','flag','direction'] insertkeys_gps=['star','cmd','bus_no','line_no','gps_datetime','latitude','longitude','speed',
'angle','next_station','people_num','start_end_flag',
'send_datetime','direction','run_status','leave_flag',
'driver_no','driver_flag']
insertkeys_stn=['star','cmd','bus_no','line_no','direction','stn_dt','flag','station_no'] insertruler_gps=['s','s',1,'s','s',9,'s',1]
insertruler_stn=['s','s',4] updatekeys_gps=['start','cmd','bus_no','line_id','gps_datetime','longitude','latitude','next_station','direction']
updatekeys_stn=['start','cmd','bus_no','line_id','station_no','stn_dt','flag','direction'] updateruler_gps=['s',1,1,'s','s',1,1]
updateruler_stn=['s',5] myflag='|' db=MySQLdb.connect("localhost","your_name","your_passwd","database_name")
cur=db.cursor()
BGP=BusGpsParser(db,cur)
BGP.load(sample_gps,sourcekeys_gps,line_id_dict)
BGP.parser(myflag) BGP.recondition(insertkeys_gps)
insert_data=BGP.wrap(insertruler_gps)
myitem=BGP.items()
sqldup=BGP.equal_value() gps_tn=BGP.tableName('gps')
sql_insert="""INSERT INTO `%s` %s VALUES %s ON DUPLICATE KEY UPDATE %s;""" % (gps_tn,myitem,insert_data,sqldup)
BGP.save(sql_insert) BGP.recondition(updatekeys_gps)
update_data=BGP.wrap(updateruler_gps)
myitem=BGP.items()
sqldup=BGP.equal_value()
sql_update="""INSERT INTO bus_gps %s VALUES %s ON DUPLICATE KEY UPDATE %s;""" % (myitem,update_data,sqldup)
BGP.update(sql_update) BGP.load(sample_stn,sourcekeys_stn,line_id_dict)
BGP.parser(myflag) BGP.recondition(insertkeys_stn)
insert_data=BGP.wrap(insertruler_stn)
myitem=BGP.items()
sqldup=BGP.equal_value()
stn_tn=BGP.tableName('stn')
sql_insert="""INSERT INTO `%s` %s VALUES %s ON DUPLICATE KEY UPDATE %s;""" % (stn_tn,myitem,insert_data,sqldup)
BGP.save(sql_insert) BGP.recondition(updatekeys_stn)
update_data=BGP.wrap(updateruler_stn)
myitem=BGP.items()
sqldup=BGP.equal_value()
sql_update="""INSERT INTO bus_stn %s VALUES %s ON DUPLICATE KEY UPDATE %s;""" % (myitem,update_data,sqldup)
BGP.update(sql_update)
BGP.post(url)
How to use AKBusGpsParser的更多相关文章
随机推荐
- LeetCode:Longest Palindromic Substring 最长回文子串
题目链接 Given a string S, find the longest palindromic substring in S. You may assume that the maximum ...
- MySql表名的大小写问题
MySQL在Linux下数据库名.表名.列名.别名大小写规则是这样的: 1.数据库名与表名是严格区分大小写的: 2.表的别名是严格区分大小写的: 3.列名与列的别名在所有的情况下均是忽略大小写的: 4 ...
- [转] Oracle analyze 命令分析
转自:http://blog.sina.com.cn/s/blog_682841ba0101bncp.html 1.analyze table t1 compute statistics for ta ...
- 使用jquery form插件进行异步带文件的表单提交
引入form插件与jquery 的js文件后 获取表单的jq对象 然后.ajaxSubmit提交表单即可 实现添加品牌的异步表单提交 function addBarandImg(formId) { $ ...
- 查看lock
select a.session_id,a.oracle_username, a.os_user_name, b.owner "OBJECT OWNER", b.object_na ...
- 洛谷P1738 洛谷的文件夹
原题目:点我 题目是一个略水的题,我机制地用面向对象做了...所以代码量急剧加大,100行233 模拟即可,字符串处理麻烦点.如果没有找到子文件夹就新建文件夹,如果有就进入该文件夹. 提示:高能,指针 ...
- Memcache学习php完整一例
header("Content-Type:text/html;charset=utf-8"); /* PHP设置分布式memcache存取 */ //创建memcache对象 $m ...
- cocos2d-x之内存管理(4)
c++的内存管理一直以来都是个问题,也有多种实现方案,比如智能指针,使用引用计数等,cocos2d-x也需要涉及到内存的管理. cocos2d-x是如何管理内存的呢? cocos2d-x的内存管理主要 ...
- NSDate--日期格式
日期格式: 年: y 将年份 (0-9) 显示为不带前导零的数字 yy 以带前导零的两位数字格式显示年份 yyy 以四位数字格式显示年份 yyyy 以四位数字格式显示年份 月: M 将月份显示为不带前 ...
- 1606: [Usaco2008 Dec]Hay For Sale 购买干草
Description 约翰遭受了重大的损失:蟑螂吃掉了他所有的干草,留下一群饥饿的牛.他乘着容量为C(1≤C≤50000)个单位的马车,去顿因家买一些干草. 顿因有H(1≤H≤5000)包 ...