Quellcode durchsuchen

Remove .DS_Store files from the repository

jack vor 1 Jahr
Ursprung
Commit
35f4a4a4bd

BIN
.DS_Store


+ 0 - 1
.gitignore

@@ -1 +0,0 @@
-.DS_Store

+ 0 - 7
__init__.py

@@ -1,7 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from . import controllers
-from . import security
-from . import models
-from . import views
-from . import wizard

+ 0 - 15
__manifest__.py

@@ -1,15 +0,0 @@
-# -*- coding: utf-8 -*-
-{
-    "name": "Auto Module",
-    "version": "1.0",
-    "author": "Jack",
-    "category": "Tools",
-    "depends": ["base"],
-    "data": [
-        "security/ir.model.access.csv",
-        "views/views_news_info.xml",
-        "wizard/views_sync_news_data.xml"
-    ],
-    "installable": True,
-    "auto_install": False,
-}

+ 0 - 3
controllers/__init__.py

@@ -1,3 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from . import controllers

BIN
controllers/__pycache__/__init__.cpython-310.pyc


BIN
controllers/__pycache__/controllers.cpython-310.pyc


+ 0 - 22
controllers/controllers.py

@@ -1,22 +0,0 @@
-# -*- coding: utf-8 -*-
-# from odoo import http
-
-
-# class News(http.Controller):
-#     @http.route('/news/news', auth='public')
-#     def index(self, **kw):
-#         return "Hello, world"
-
-#     @http.route('/news/news/objects', auth='public')
-#     def list(self, **kw):
-#         return http.request.render('news.listing', {
-#             'root': '/news/news',
-#             'objects': http.request.env['news.news'].search([]),
-#         })
-
-#     @http.route('/news/news/objects/<model("news.news"):obj>', auth='public')
-#     def object(self, obj, **kw):
-#         return http.request.render('news.object', {
-#             'object': obj
-#         })
-

+ 0 - 30
demo/demo.xml

@@ -1,30 +0,0 @@
-<odoo>
-    <data>
-<!--
-          <record id="object0" model="news.news">
-            <field name="name">Object 0</field>
-            <field name="value">0</field>
-          </record>
-
-          <record id="object1" model="news.news">
-            <field name="name">Object 1</field>
-            <field name="value">10</field>
-          </record>
-
-          <record id="object2" model="news.news">
-            <field name="name">Object 2</field>
-            <field name="value">20</field>
-          </record>
-
-          <record id="object3" model="news.news">
-            <field name="name">Object 3</field>
-            <field name="value">30</field>
-          </record>
-
-          <record id="object4" model="news.news">
-            <field name="name">Object 4</field>
-            <field name="value">40</field>
-          </record>
--->
-    </data>
-</odoo>

+ 0 - 3
models/__init__.py

@@ -1,3 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from . import news_info

BIN
models/__pycache__/__init__.cpython-310.pyc


BIN
models/__pycache__/news_info.cpython-310.pyc


+ 0 - 34
models/news_info.py

@@ -1,34 +0,0 @@
-# -*- coding: utf-8 -*-
-
-from odoo import models, fields, api
-
-
-class News(models.Model):
-    _name = 'news.info'
-    _description = 'News Info'
-    _order = 'create_time_ts DESC'
-
-    name = fields.Char(string='Title', required=True)
-    context = fields.Text(string='Context')
-    context_simple = fields.Char(string='Context Simple', compute='_compute_context')
-    source_url = fields.Char(string='Source URL')
-    link = fields.Char(string='Link')
-    article_type = fields.Char(string='Article Type')
-    article_source = fields.Char(string='Article Source')
-    img_url = fields.Char(string='Image URL')
-    keyword = fields.Char(string='Keyword')
-    posted_date = fields.Char(string='Posted Date')
-    create_time_ts = fields.Float(string='Creation Time TS')
-    create_time = fields.Datetime(string='Creation Time')
-    create_datetime = fields.Datetime(string='Creation Datetime')
-
-    def _compute_context(self):
-        context = ''
-        for record in self:
-            if record.context:
-                if len(record.context) < 80:
-                    record.context_simple = record.context
-                else:
-                    record.context_simple = f'{record.context[:80]}...'
-            else:
-                record.context_simple = context

+ 0 - 3
security/ir.model.access.csv

@@ -1,3 +0,0 @@
-id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
-access_news_news,news.news,model_news_info,base.group_user,1,1,1,1
-sync_news_data_access,Sync News Data Access,model_auto_news_sync,base.group_user,1,1,1,0

+ 0 - 23
security/security.xml

@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<odoo>
-    <record id="demo_demo_access" model="ir.model.access">
-        <field name="name">Demo Access</field>
-        <field name="model_id" ref="model_news_info"/>
-        <field name="group_id" ref="base.group_user"/>
-        <field name="perm_read" eval="1"/>
-        <field name="perm_write" eval="1"/>
-        <field name="perm_create" eval="1"/>
-        <field name="perm_unlink" eval="1"/>
-    </record>
-
-    <!-- Access Right for Sync News Data -->
-    <record id="sync_news_data_access" model="ir.model.access">
-        <field name="name">Sync News Data Access</field>
-        <field name="model_id" ref="model_auto_news_sync"/>
-        <field name="group_id" ref="base.group_user"/>
-        <field name="perm_read" eval="1"/>
-        <field name="perm_write" eval="1"/>
-        <field name="perm_create" eval="1"/>
-        <field name="perm_unlink" eval="0"/>
-    </record>
-</odoo>

+ 0 - 81
views/views_news_info.xml

@@ -1,81 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<odoo>
-    <record id="view_news_tree" model="ir.ui.view">
-        <field name="name">news.info.tree</field>
-        <field name="model">news.info</field>
-        <field name="arch" type="xml">
-            <tree string="News" limit="80" create="0">
-                <field name="name"/>
-                <field name="context_simple"/>
-                <field name="keyword"/>
-                <field name="article_source"/>
-                <field name="article_type"/>
-                <field name="posted_date"/>
-                <field name="create_time"/>
-            </tree>
-        </field>
-    </record>
-
-    <record id="view_news_form" model="ir.ui.view">
-        <field name="name">news.info.form</field>
-        <field name="model">news.info</field>
-        <field name="arch" type="xml">
-            <form string="News" edit="0">
-                <sheet>
-                    <group>
-                        <field name="name"/>
-                        <group>
-                            <field name="keyword"/>
-                            <field name="article_type"/>
-                            <field name="link" widget="url"/>
-                            <field name="create_datetime"/>
-                            <field name="img_url"/>
-                        </group>
-                        <group>
-                            <field name="posted_date"/>
-                            <field name="article_source"/>
-                            <field name="create_time"/>
-                            <field name="source_url" widget="url"/>
-                        </group>
-                        <field name="context"/>
-                    </group>
-                </sheet>
-            </form>
-        </field>
-    </record>
-
-    <record id="view_news_search" model="ir.ui.view">
-        <field name="name">news.info.search</field>
-        <field name="model">news.info</field>
-        <field name="arch" type="xml">
-            <search string="Search News">
-                <group>
-                    <filter string="Title" name="name_filter" domain="[('name', 'ilike', self)]"/>
-                    <filter string="Context" name="context_filter" domain="[('context', 'ilike', self)]"/>
-                    <filter string="Article Source" name="source_filter" domain="[('article_source', 'ilike', self)]"/>
-                    <filter string="Article Type" name="type_filter" domain="[('article_type', 'ilike', self)]"/>
-                    <filter string="Keyword" name="keyword_filter" domain="[('keyword', 'ilike', self)]"/>
-                </group>
-                <!-- 添加一个搜索输入框 -->
-                <field name="name"/>
-                <field name="context"/>
-                <field name="article_source"/>
-                <field name="article_type"/>
-                <field name="keyword"/>
-                <newline/>
-                <!-- 添加一个搜索按钮 -->
-                <group expand="1">
-                    <button name="search" string="Search" type="object" icon="fa-search"/>
-                </group>
-            </search>
-        </field>
-    </record>
-
-    <record id="action_news_info" model="ir.actions.act_window">
-        <field name="name">News Info</field>
-        <field name="res_model">news.info</field>
-        <field name="view_mode">tree,form</field>
-    </record>
-
-    <menuitem id="menu_news" name="News Info" action="action_news_info"/>
-</odoo>

+ 0 - 2
wizard/__init__.py

@@ -1,2 +0,0 @@
-# -*- coding: utf-8 -*-
-from . import wizard_sync_news_data

BIN
wizard/__pycache__/__init__.cpython-310.pyc


BIN
wizard/__pycache__/wizard_sync_news_data.cpython-310.pyc


+ 0 - 31
wizard/views_sync_news_data.xml

@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<odoo>
-    <record id="view_sync_news_data_wizard" model="ir.ui.view">
-        <field name="name">auto.news.sync.wizard</field>
-        <field name="model">auto.news.sync</field>
-        <field name="arch" type="xml">
-            <form string="Synchronize News Data" version="7.0">
-                <sheet>
-                    <label for="message"/>
-                    <h1><field name="message"/></h1>
-                    <footer>
-                        <button string='Confirm' name="btn_sync_data" type="object" class="btn-primary"/>
-                        <button string="Cancel" class="btn-secondary" special="cancel"/>
-                    </footer>
-                </sheet>
-            </form>
-        </field>
-    </record>
-
-    <!-- Action for Wizard -->
-    <record id="action_sync_news_data_wizard" model="ir.actions.act_window">
-        <field name="name">Synchronize News Data Wizard</field>
-        <field name="res_model">auto.news.sync</field>
-        <field name="view_mode">form</field>
-        <field name="view_id" ref="view_sync_news_data_wizard"/>
-        <field name="target">new</field>
-    </record>
-
-    <!-- Optionally, add a menu item if you want this action to appear in the menu -->
-    <menuitem id="menu_sync_news_data" name="Synchronize News Data" parent="news.menu_news" action="action_sync_news_data_wizard"/>
-</odoo>

+ 0 - 64
wizard/wizard_sync_news_data.py

@@ -1,64 +0,0 @@
-# -*- coding: UTF-8 -*-
-from datetime import datetime
-
-from odoo import models, fields, _
-from pymongo import MongoClient
-
-
-class SyncNewsData(models.TransientModel):
-    _name = 'auto.news.sync'
-    _description = 'Auto News Sync'
-
-    message = fields.Text('Message', default='确认同步数据?', readonly=True)
-
-    def btn_sync_data(self):
-        client = MongoClient('mongodb://root:aaaAAA111!!!@home.erhe.link:38000/')
-
-        # 指定数据库名称
-        db_name = 'NEWS'  # 替换为你的数据库名称
-
-        # 选择数据库
-        db = client[db_name]
-
-        # 列出数据库中的所有集合
-        collections = db.list_collection_names()
-
-        all_data = []
-
-        for collection_name in collections:
-            # 选择集合
-            collection = db[collection_name]
-
-            # 读取集合中的所有数据
-            for document in collection.find({}, {'_id': 0}):
-                all_data.append(document)
-
-        sorted_data = []
-
-        if all_data:
-            sorted_data = sorted(all_data, key=lambda x: x['create_time'], reverse=True)
-
-        for doc in sorted_data:
-            news_data_id = self.env['news.info'].search([('name', '=', doc['title'])], limit=1)
-
-            if news_data_id:
-                continue
-
-            create_time_dt = None
-            if doc.get('create_time'):
-                create_time_dt = datetime.utcfromtimestamp(doc['create_time'])
-
-            news_data = news_data_id.create({
-                'name': doc.get('title'),
-                'context': doc.get('context') or '',
-                'source_url': doc.get('source_url') or '',
-                'link': doc.get('line') or '',
-                'article_type': doc.get('article_type') or '',
-                'article_source': doc.get('article_source') or '',
-                'img_url': doc.get('img_url') or '',
-                'keyword': doc.get('keyword') or '',
-                'posted_date': doc.get('posted_date') or '',
-                'create_time_ts': doc.get('create_time') or '',
-                'create_time': create_time_dt,
-                'create_datetime': datetime.strptime(doc['create_datetime'], '%Y-%m-%d %H:%M:%S')
-            })