Commit 8f7f5c5a by zhaihuitao

添加生产环境配置信息

parent 87d6f9bd
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="d0064643-2990-4ed3-bfb0-875849b30f4e" name="Default" comment="">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/.idea/vcs.xml" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/config/analysis.py" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/testcase/android_click/__init__.py" />
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/testcase/android_click/click.py" />
<list default="true" id="d0064643-2990-4ed3-bfb0-875849b30f4e" name="Default" comment="添加生产环境配置信息">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/testcase/android_click/test_click.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/config/analysis.py" afterPath="$PROJECT_DIR$/config/analysis.py" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/config/prod/prod.yaml" afterPath="$PROJECT_DIR$/config/prod/prod.yaml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/testcase/android_click/click.py" afterPath="$PROJECT_DIR$/testcase/android_click/click.py" />
</list>
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
<option name="TRACKING_ENABLED" value="true" />
......@@ -16,16 +16,16 @@
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="CoverageDataManager">
<SUITE FILE_PATH="coverage/trackingIO$click.coverage" NAME="click Coverage Results" MODIFIED="1596521706571" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase/android_click" />
<SUITE FILE_PATH="coverage/trackingIO$click.coverage" NAME="click Coverage Results" MODIFIED="1596681440003" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/testcase/android_click" />
</component>
<component name="ExecutionTargetManager" SELECTED_TARGET="default_target" />
<component name="FileEditorManager">
<leaf>
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="prod.yaml" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/config/prod/prod.yaml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
<caret line="2" column="25" lean-forward="false" selection-start-line="2" selection-start-column="25" selection-end-line="2" selection-end-column="25" />
<state relative-caret-position="75">
<caret line="5" column="0" lean-forward="true" selection-start-line="5" selection-start-column="0" selection-end-line="5" selection-end-column="0" />
<folding />
</state>
</provider>
......@@ -34,10 +34,22 @@
<file leaf-file-name="click.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/testcase/android_click/click.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="58">
<caret line="32" column="27" lean-forward="true" selection-start-line="32" selection-start-column="27" selection-end-line="32" selection-end-column="27" />
<state relative-caret-position="196">
<caret line="70" column="16" lean-forward="true" selection-start-line="70" selection-start-column="16" selection-end-line="70" selection-end-column="16" />
<folding>
<element signature="e#109#118#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
</file>
<file leaf-file-name="test_click.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/testcase/android_click/test_click.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45">
<caret line="3" column="21" lean-forward="true" selection-start-line="3" selection-start-column="21" selection-end-line="3" selection-end-column="21" />
<folding>
<element signature="e#110#123#0" expanded="true" />
<element signature="e#100#115#0" expanded="true" />
</folding>
</state>
</provider>
......@@ -46,8 +58,18 @@
<file leaf-file-name="analysis.py" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/config/analysis.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="11" column="25" lean-forward="false" selection-start-line="11" selection-start-column="25" selection-end-line="11" selection-end-column="25" />
<state relative-caret-position="13">
<caret line="11" column="6" lean-forward="false" selection-start-line="11" selection-start-column="6" selection-end-line="11" selection-end-column="6" />
<folding />
</state>
</provider>
</entry>
</file>
<file leaf-file-name="__init__.py" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/config/prod/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
......@@ -69,8 +91,9 @@
<option name="CHANGED_PATHS">
<list>
<option value="$PROJECT_DIR$/config/prod/prod.yaml" />
<option value="$PROJECT_DIR$/testcase/android_click/click.py" />
<option value="$PROJECT_DIR$/testcase/android_click/test_click.py" />
<option value="$PROJECT_DIR$/config/analysis.py" />
<option value="$PROJECT_DIR$/testcase/android_click/click.py" />
</list>
</option>
</component>
......@@ -103,6 +126,8 @@
<foldersAlwaysOnTop value="true" />
</navigator>
<panes>
<pane id="Scope" />
<pane id="Scratches" />
<pane id="ProjectPane">
<subPane>
<PATH>
......@@ -128,6 +153,24 @@
<option name="myItemId" value="trackingIO" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="testcase" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="android_click" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
<option name="myItemId" value="trackingIO" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
<option name="myItemId" value="trackingIO" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
......@@ -163,12 +206,10 @@
</PATH>
</subPane>
</pane>
<pane id="Scope" />
<pane id="Scratches" />
</panes>
</component>
<component name="PropertiesComponent">
<property name="settings.editor.selected.configurable" value="com.jetbrains.python.configuration.PyActiveSdkModuleConfigurable" />
<property name="settings.editor.selected.configurable" value="settings.github" />
<property name="WebServerToolWindowFactoryState" value="false" />
</component>
<component name="RunDashboard">
......@@ -300,6 +341,12 @@
<method />
</configuration>
<configuration default="true" type="js.build_tools.gulp" factoryName="Gulp.js">
<node-interpreter>project</node-interpreter>
<node-options />
<gulpfile />
<tasks />
<arguments />
<envs />
<method />
</configuration>
<configuration default="true" type="js.build_tools.npm" factoryName="npm">
......@@ -373,31 +420,45 @@
<option name="project" value="LOCAL" />
<updated>1596528175728</updated>
</task>
<option name="localTasksCounter" value="2" />
<task id="LOCAL-00002" summary="添加生产环境配置信息">
<created>1596528256906</created>
<option name="number" value="00002" />
<option name="presentableId" value="LOCAL-00002" />
<option name="project" value="LOCAL" />
<updated>1596528256906</updated>
</task>
<task id="LOCAL-00003" summary="添加yaml工具类">
<created>1596609166366</created>
<option name="number" value="00003" />
<option name="presentableId" value="LOCAL-00003" />
<option name="project" value="LOCAL" />
<updated>1596609166366</updated>
</task>
<option name="localTasksCounter" value="4" />
<servers />
</component>
<component name="ToolWindowManager">
<frame x="0" y="23" width="1280" height="724" extended-state="0" />
<editor active="true" />
<layout>
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24959612" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25767368" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32838285" sideWeight="0.503231" order="-1" side_tool="true" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32838285" sideWeight="0.503231" order="7" side_tool="true" content_ui="tabs" />
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32838285" sideWeight="0.49676898" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Python Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
<window_info id="Data View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Data View" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
</layout>
</component>
......@@ -409,23 +470,40 @@
</component>
<component name="VcsManagerConfiguration">
<MESSAGE value="添加生产环境配置信息" />
<option name="LAST_COMMIT_MESSAGE" value="添加生产环境配置信息" />
<MESSAGE value="添加yaml工具类" />
<option name="LAST_COMMIT_MESSAGE" value="添加yaml工具类" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager />
<watches-manager />
</component>
<component name="editorHistoryManager">
<entry file="file://$PROJECT_DIR$/config/prod/prod.yaml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
<caret line="2" column="25" lean-forward="false" selection-start-line="2" selection-start-column="25" selection-end-line="2" selection-end-column="25" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/testcase/android_click/click.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="58">
<caret line="32" column="27" lean-forward="true" selection-start-line="32" selection-start-column="27" selection-end-line="32" selection-end-column="27" />
<state relative-caret-position="1110">
<caret line="74" column="13" lean-forward="false" selection-start-line="74" selection-start-column="13" selection-end-line="74" selection-end-column="13" />
<folding>
<element signature="e#110#123#0" expanded="true" />
<element signature="e#109#118#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config/analysis.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="285">
<caret line="19" column="9" lean-forward="false" selection-start-line="19" selection-start-column="9" selection-end-line="19" selection-end-column="9" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config/prod/prod.yaml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="30">
......@@ -434,10 +512,80 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/testcase/android_click/click.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1110">
<caret line="74" column="13" lean-forward="true" selection-start-line="74" selection-start-column="13" selection-end-line="74" selection-end-column="13" />
<folding>
<element signature="e#109#118#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config/analysis.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="285">
<caret line="19" column="9" lean-forward="false" selection-start-line="19" selection-start-column="9" selection-end-line="19" selection-end-column="9" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config/prod/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="0">
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$USER_HOME$/Library/Caches/PyCharm2017.1/python_stubs/1978755681/_socket.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="247">
<caret line="389" column="4" lean-forward="false" selection-start-line="389" selection-start-column="4" selection-end-line="389" selection-end-column="4" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config/prod/prod.yaml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="75">
<caret line="5" column="0" lean-forward="true" selection-start-line="5" selection-start-column="0" selection-end-line="5" selection-end-column="0" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/testcase/android_click/click.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="196">
<caret line="70" column="16" lean-forward="true" selection-start-line="70" selection-start-column="16" selection-end-line="70" selection-end-column="16" />
<folding>
<element signature="e#109#118#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/testcase/android_click/test_click.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="45">
<caret line="3" column="21" lean-forward="true" selection-start-line="3" selection-start-column="21" selection-end-line="3" selection-end-column="21" />
<folding>
<element signature="e#100#115#0" expanded="true" />
</folding>
</state>
</provider>
</entry>
<entry file="file:///anaconda3/lib/python3.6/site-packages/yaml/__init__.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="500">
<caret line="64" column="4" lean-forward="false" selection-start-line="64" selection-start-column="4" selection-end-line="64" selection-end-column="4" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/config/analysis.py">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="165">
<caret line="11" column="25" lean-forward="false" selection-start-line="11" selection-start-column="25" selection-end-line="11" selection-end-column="25" />
<state relative-caret-position="13">
<caret line="11" column="6" lean-forward="false" selection-start-line="11" selection-start-column="6" selection-end-line="11" selection-end-column="6" />
<folding />
</state>
</provider>
......
......@@ -25,3 +25,5 @@ class loadYaml:
except Exception as es:
print(F'内容:{data}\n写入{filepath}文件出错,错误是{es}')
return False
ly = loadYaml()
\ No newline at end of file
click:
url: http://t.uri6.com/tkio/EFbIzya
appkey: 9b17c1568c3ce34599c5fd2778483ff9
params:
ry_adcreative_id = '111'
# 广告组ID
ry_adgroup_id = '222'
# 广告计划ID
ry_adplan_id = '333'
# 广告组名称
ry_adgroup_name = '头条广告组2'
# 广告计划名称
ry_adplan_name = '头条广告计划2'
# 广告创意名称
ry_adcreative_name = '头条广告名称2'
\ No newline at end of file
......@@ -5,15 +5,16 @@
@time: 2020/8/4 13:56
@desc: android click
"""
import os
import random
import requests
import socket
import struct
import yaml
import sys
sys.path.append(r'/Users/zhaihuitao/gitlab/trackingIO/config')
import config.analysis
base_path = os.getcwd()
sys.path.append(base_path)
from config.analysis import loadYaml
import config.prod
import time
......@@ -37,7 +38,7 @@ ry_adcreative_name = '广告创意'
s = 0
w = 0
#print(config['click']['url'])
for _ in range(1):
#随机生成12为数组
......@@ -65,7 +66,9 @@ for _ in range(1):
# verify = False
# y = config.analysis.loadYaml()
# y.readYaml('/Users/zhaihuitao/gitlab/trackingIO/config/prod/prod.yaml')
y = yaml.load(open('/Users/zhaihuitao/gitlab/trackingIO/config/prod/prod.yaml', 'r',encoding='utf-8'))
# y = yaml.load(open('/Users/zhaihuitao/gitlab/trackingIO/config/prod/prod.yaml', 'r',encoding='utf-8'))
y = loadYaml.read_yaml(loadYaml, '/Users/zhaihuitao/gitlab/trackingIO/config/prod/prod.yaml')
print(y)
p = requests.get(url=y['click']['url'], params=parms, timeout=30, verify= False)
print('success:',s)
......
# -*- coding: utf-8 -*-
"""
@author:zhaiht
@file: test_click.py
@time: 2020/8/5 14:48
@desc:
"""
import unittest
import random
import requests
import socket
import struct
import yaml
import sys
sys.path.append(r'/Users/zhaihuitao/gitlab/trackingIO/config')
class clickTestCase(unittest.TestCase):
def click(self):
pass
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment