You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

153 lines
3.0 KiB
Python

# -*- coding: utf-8 -*-
# @Time : 2025/5/13 10:41
# @Author : zhaoxiangpeng
# @File : enum_cls.py
import enum
from datetime import timedelta
class ResourceType(enum.Enum):
"""资源类型"""
学术期刊 = JOURNAL = "JOURNAL" # 学术期刊
学位论文 = DISSERTATION = "DISSERTATION" # 学位论文
会议 = CONFERENCE = "CONFERENCE" # 会议
报纸 = NEWSPAPER = "NEWSPAPER" # 报纸
年鉴 = ALMANAC = "ALMANAC"
图书 = BOOK = "BOOK"
专利 = PATENT = "PATENT"
标准 = STANDARD = "STANDARD"
ACHIEVEMENTS = "ACHIEVEMENTS"
class SourceDatabaseEnum(enum.Enum):
"""来源库id"""
JOURNAL = 学术期刊 = "YSTT4HG0" # 学术期刊
DISSERTATION = 学位论文 = "LSTPFY1C" # 学位论文
CONFERENCE = 会议 = "JUP3MUPD" # 会议
NEWSPAPER = 报纸 = "MPMFIG1A" # 报纸
ALMANAC = 年鉴 = "HHCPM1F8"
BOOK = 图书 = "EMRPGLPA"
PATENT = 专利 = "VUDIXAIY"
STANDARD = 标准 = "WQ0UVIAA"
ACHIEVEMENTS = "BLZOG7CK"
class SearchTypeId(enum.Enum):
"""知网的检索类型"""
ADV = 1
SIMPLE = 2
AUTHOR = 3
EXPERT = 4 # 专业检索
SENTENCE = 5
'''
GROUP = 6
PAGE = 7
SORT = 8
ABSTRACT = 9
MORESENTENCE = 10
HISTORY = 11
SIZE = 12
RESULT = 13
ADVRESULT = 14
EXPERTRESULT = 15
AUTHORRESULT = 16
SENRESULT = 17
CROSSDBCHANGEDB = 18
COMBOHISTORY = 19
'''
class SearchFromId(enum.Enum):
SEARCH = 1
GROUPSEARCH = 2
RESULT = 3
PAGE = 4
SORT = 5
CHANGEDB = 6
DISPLAYMODEL = 7
NAVISEARCH = 8
HISTORY = 9
COMBOHISTORY = 10
CROSSDBCHANGEDB = 11
CHANGELANG = 12
GROUP = 99
class SearchFieldEnum(enum.Enum):
"""文献元数据字段枚举类"""
SU = "主题"
TKA = "篇关摘"
TI = "篇名"
KY = "关键词"
AB = "摘要"
CO = "小标题"
FT = "全文"
AU = "作者"
FI = "第一作者"
RP = "通讯作者"
AF = "作者单位"
LY = "期刊名称"
RF = "参考文献"
FU = "基金"
CLC = "中图分类号"
SN = "ISSN"
CN = "CN"
DOI = "DOI"
QKLM = "栏目信息"
FAF = "第一单位"
CF = "被引频次"
class OperatorEnum(enum.Enum):
模糊 = "FUZZY"
精确 = "DEFAULT"
class OperatorTypeEnum(enum.Enum):
DEFAULT = 0
TOPRANK = 1
FUZZY = 2
GT = 3
GE = 4
LT = 5
LE = 6
BETWEEN = 7
FREQUENCY = 8
PREFIX = 9
SUFFIX = 10
CONTAINS = 11
NEAR = 12
SENTENCE = 13
IS = 14
FUZZYFREQUENCY = 15
class LogicEnum(enum.Enum):
AND = 0
OR = 1
NOT = 2
class SingleResultEnum(enum.Enum):
"""
分组ID枚举类
"""
年度 = YE = "YE"
期刊 = "QK"
机构 = "AFC"
来源类别 = LYBSM = "LYBSM"
研究层次 = "YJCC"
class UpdatedTimeEnum(enum.Enum):
"""
最近一段时间的枚举
"""
最近一周 = timedelta(days=7)
最近一月 = timedelta(days=30)
最近半年 = timedelta(days=180)
最近一年 = timedelta(days=180)
今年迄今 = timedelta(days=180)