odoo_dev 开发培训作业:图书管理系统
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

50 rindas
1.5KB

  1. from argparse import ArgumentParser
  2. # from library_api import LibraryAPI
  3. from library_odoorpc import LibraryAPI
  4. # 搜索并列出图书
  5. # 添加图书
  6. # 设置(修改)书名
  7. # 删除图书
  8. parser = ArgumentParser()
  9. parser.add_argument(
  10. 'command',
  11. choices=['list', 'add', 'set-title', 'del'])
  12. parser.add_argument('params', nargs='*') # 可选参数
  13. args = parser.parse_args()
  14. # 为Odoo服务准备连接
  15. srv, port, db = 'localhost', 8069, 'dev13'
  16. user, pwd = 'admin', '1'
  17. api = LibraryAPI(srv, port, db, user, pwd)
  18. # list命令来列出图书
  19. if args.command == 'list':
  20. text = args.params[0] if args.params else None
  21. books = api.search_read(text)
  22. for book in books:
  23. print('%(id)d %(name)s' % book)
  24. # 添加add命令,这里使用了额外的书名作为参数
  25. if args.command == 'add':
  26. for title in args.params:
  27. new_id = api.create(title)
  28. print('Book added with ID %d.' % new_id)
  29. # 调用write()方法并向终端用户显示结果 set-title命令允许我们修改已有图书的书名
  30. if args.command == 'set-title':
  31. if len(args.params) != 2:
  32. print("set command requires a title and ID.")
  33. else:
  34. book_id, title = int(args.params[0]), args.params[1]
  35. api.write(title, book_id)
  36. print('Title set for Book ID %d.' % book_id)
  37. # del 命令来删除图书记录
  38. if args.command == 'del':
  39. for param in args.params:
  40. api.unlink(int(param))
  41. print('Book with ID %s deleted.' % param)
  42. # 运行的时候要在命令后加上 list ( python library.py list)
上海开阖软件有限公司 沪ICP备12045867号-1