|
- from argparse import ArgumentParser
- # from library_api import LibraryAPI
- from library_odoorpc import LibraryAPI
-
- # 搜索并列出图书
- # 添加图书
- # 设置(修改)书名
- # 删除图书
-
- parser = ArgumentParser()
- parser.add_argument(
- 'command',
- choices=['list', 'add', 'set-title', 'del'])
- parser.add_argument('params', nargs='*') # 可选参数
- args = parser.parse_args()
-
- # 为Odoo服务准备连接
- srv, port, db = 'localhost', 8069, 'dev13'
- user, pwd = 'admin', '1'
- api = LibraryAPI(srv, port, db, user, pwd)
-
- # list命令来列出图书
- if args.command == 'list':
- text = args.params[0] if args.params else None
- books = api.search_read(text)
- for book in books:
- print('%(id)d %(name)s' % book)
-
- # 添加add命令,这里使用了额外的书名作为参数
- if args.command == 'add':
- for title in args.params:
- new_id = api.create(title)
- print('Book added with ID %d.' % new_id)
-
- # 调用write()方法并向终端用户显示结果 set-title命令允许我们修改已有图书的书名
- if args.command == 'set-title':
- if len(args.params) != 2:
- print("set command requires a title and ID.")
- else:
- book_id, title = int(args.params[0]), args.params[1]
- api.write(title, book_id)
- print('Title set for Book ID %d.' % book_id)
-
- # del 命令来删除图书记录
- if args.command == 'del':
- for param in args.params:
- api.unlink(int(param))
- print('Book with ID %s deleted.' % param)
-
- # 运行的时候要在命令后加上 list ( python library.py list)
|