<reponame>matthew-cheney/crowd-sorting-single-threaded<gh_stars>1-10
import os
from crowdsorting import app
from crowdsorting import db

APP_ROOT = app.config['APP_ROOT']
APP_DOCS = app.config['APP_DOCS']
ADMIN_PATH = os.path.join(app.config['APP_ROOT'], 'admins.txt')
PM_PATH = os.path.join(app.config['APP_ROOT'], 'projectManagers.txt')

DEFAULT_TIMEOUT = 30
EMAIL_BREAK_SECONDS = 60

DEFAULT_DESCRIPTION = ""
DEFAULT_SELECTION_PROMPT = "Select the easier text"
DEFAULT_PREFERRED_PROMPT = "Easier"
DEFAULT_UNPREFERRED_PROMPT = "Harder"
DEFAULT_LANDING_PAGE = """<div class="text-center"><h1>Crowd Sorting</h1><h2>with the BYU Department of Digital Humanities</h2><p><br></p><h2>Please read the following instructions carefully.</h2><p>The
 purpose of this project is to sort Russian texts by 
difficulty. This is typically done by a language professional or 
teacher, who reads each text and arbitrarily assigns a difficulty. 
However, this often does not reflect the actual difficulty language 
learners experience. With your help, we are removing the language 
professional from the equation and annotating this corpus of texts with 
nothing but actual feedback from Russian learners.</p><p>In order to 
accomplish this, we are using pairwise comparisons. Rather than ask you 
to read a text and guess its difficulty, we are simply asking you to 
compare two texts. You will be presented with two relatively short texts
 in Russian. Your task is to read each one and indicate which of the two
 is easier. To be clear - <b>simply pick which of the two texts is easier for you to read.</b><br></p><p>Below are some guidelines for this process. Please read them thoroughly and keep them in mind as you judge text pairs.</p><p><b>1. Read each text carefully.</b><br></p><p>In
 order for us to get valid feedback, you must read both texts. You can 
read one after the other, or switch between them at paragraph or 
sentence breaks. Find a system that works for you, as long as you are 
engaging with both texts.</p><p><b>2. Do not judge on length alone.</b></p><p>Some
 texts are very long, and others are short. This does not necessarily 
indicate difficulty. Think of comparing a short scientific paper to a 
children's chapter book. The book is obviously easier, but it is also 
longer. Do not simply pick the shorter text as the easier one.</p><p><b>3. You do not have to read the entire text.</b></p><p>As
 stated above, some of the texts are very long. For these, you do not 
have to read them entirely. Read enough to get a feel for their 
difficulty, perhaps reading portions from the beginning, middle, and 
end. As long as you give an honest effort to understand each text and 
feel how difficult it is to read, that is enough.</p><p><b>4. Do not take too long or think too much.</b></p><p>We
 are most interested in your first impression. For most pairs, it should
 be apparent after reading several lines which is easier to understand. 
Do not spend a lot of time debating which is harder, or overthinking 
your answer. If two texts seem very close in difficulty, then select 
whichever is easier to read (even marginally) and move on.</p><p><b>5. Use the Too Hard button sparingly.</b></p><p>In
 the upper right corner will be a button labeled "Too Hard." This should
 only be used if you encounter two texts which you flat out cannot 
understand. Think of trying to judge between two texts in Chinese (or 
another language you don't know). You have no way of telling which is 
easier to read, because both are so far above your level. This is the 
only case in which you should use the Too Hard button. <b>DO NOT </b>use this button if two texts are just very close to each other in difficulty.</p><p>Keep
 in mind that you do not have to understand both texts perfectly to tell
 which is harder. This is the advantage of our sorting algorithm. Even 
beginning language learners can often tell which of two texts is easier 
for them to read, without understanding every word. Don't be afraid to 
use the Too Hard button if needed, but try your best to judge between 
every pair.<br></p><p><br></p><p>If you have questions, refer to the Help Section below the sorter or ask your proctor.<br></p><p><br></p><p>You
 will be prompted to agree to our Terms and Conditions on the next page.
 After agreeing once, you will only be asked again if your proctor 
updates them.<br></p><p><br></p><p>Thank you for your participation! 
Once you have read the instructions above, click on Begin Sorting below.
 You may return to the sorter at any time by clicking Sorter in the 
toolbar.<br></p></div>"""

DEFAULT_CONSENT_FORM = """
<h2 align="left">Terms and Conditions</h2><p align="left"><br></p><h5 align="left">Any
 information users provide in the form of judgments between texts while 
participating in this research project can be freely used and 
distributed by the BYU Department of Digital Humanities and others under
 standard open-source licensing. User data such as names and emails are 
stored in this system, but will not be distributed or used beyond 
authentication for this site alone and tracking users to their 
judgments. Users may at any point freely leave the current project. Upon
 doing so, however, the judgments they provided will remain in the 
system, and may still be used as explained above.</h5><h5 align="left"><br></h5><h5 align="left">By clicking on Agree, I certify that I have read and agree to the above terms and conditions.<br></h5>
"""
import os
from crowdsorting import app
from crowdsorting import db

APP_ROOT = app.config['APP_ROOT']
APP_DOCS = app.config['APP_DOCS']
ADMIN_PATH = os.path.join(app.config['APP_ROOT'], 'admins.txt')
PM_PATH = os.path.join(app.config['APP_ROOT'], 'projectManagers.txt')

DEFAULT_TIMEOUT = 30
EMAIL_BREAK_SECONDS = 60

DEFAULT_DESCRIPTION = ""
DEFAULT_SELECTION_PROMPT = "Select the easier text"
DEFAULT_PREFERRED_PROMPT = "Easier"
DEFAULT_UNPREFERRED_PROMPT = "Harder"
DEFAULT_LANDING_PAGE = """<div class="text-center"><h1>Crowd Sorting</h1><h2>with the BYU Department of Digital Humanities</h2><p><br></p><h2>Please read the following instructions carefully.</h2><p>The
 purpose of this project is to sort Russian texts by 
difficulty. This is typically done by a language professional or 
teacher, who reads each text and arbitrarily assigns a difficulty. 
However, this often does not reflect the actual difficulty language 
learners experience. With your help, we are removing the language 
professional from the equation and annotating this corpus of texts with 
nothing but actual feedback from Russian learners.</p><p>In order to 
accomplish this, we are using pairwise comparisons. Rather than ask you 
to read a text and guess its difficulty, we are simply asking you to 
compare two texts. You will be presented with two relatively short texts
 in Russian. Your task is to read each one and indicate which of the two
 is easier. To be clear - <b>simply pick which of the two texts is easier for you to read.</b><br></p><p>Below are some guidelines for this process. Please read them thoroughly and keep them in mind as you judge text pairs.</p><p><b>1. Read each text carefully.</b><br></p><p>In
 order for us to get valid feedback, you must read both texts. You can 
read one after the other, or switch between them at paragraph or 
sentence breaks. Find a system that works for you, as long as you are 
engaging with both texts.</p><p><b>2. Do not judge on length alone.</b></p><p>Some
 texts are very long, and others are short. This does not necessarily 
indicate difficulty. Think of comparing a short scientific paper to a 
children's chapter book. The book is obviously easier, but it is also 
longer. Do not simply pick the shorter text as the easier one.</p><p><b>3. You do not have to read the entire text.</b></p><p>As
 stated above, some of the texts are very long. For these, you do not 
have to read them entirely. Read enough to get a feel for their 
difficulty, perhaps reading portions from the beginning, middle, and 
end. As long as you give an honest effort to understand each text and 
feel how difficult it is to read, that is enough.</p><p><b>4. Do not take too long or think too much.</b></p><p>We
 are most interested in your first impression. For most pairs, it should
 be apparent after reading several lines which is easier to understand. 
Do not spend a lot of time debating which is harder, or overthinking 
your answer. If two texts seem very close in difficulty, then select 
whichever is easier to read (even marginally) and move on.</p><p><b>5. Use the Too Hard button sparingly.</b></p><p>In
 the upper right corner will be a button labeled "Too Hard." This should
 only be used if you encounter two texts which you flat out cannot 
understand. Think of trying to judge between two texts in Chinese (or 
another language you don't know). You have no way of telling which is 
easier to read, because both are so far above your level. This is the 
only case in which you should use the Too Hard button. <b>DO NOT </b>use this button if two texts are just very close to each other in difficulty.</p><p>Keep
 in mind that you do not have to understand both texts perfectly to tell
 which is harder. This is the advantage of our sorting algorithm. Even 
beginning language learners can often tell which of two texts is easier 
for them to read, without understanding every word. Don't be afraid to 
use the Too Hard button if needed, but try your best to judge between 
every pair.<br></p><p><br></p><p>If you have questions, refer to the Help Section below the sorter or ask your proctor.<br></p><p><br></p><p>You
 will be prompted to agree to our Terms and Conditions on the next page.
 After agreeing once, you will only be asked again if your proctor 
updates them.<br></p><p><br></p><p>Thank you for your participation! 
Once you have read the instructions above, click on Begin Sorting below.
 You may return to the sorter at any time by clicking Sorter in the 
toolbar.<br></p></div>"""

DEFAULT_CONSENT_FORM = """
<h2 align="left">Terms and Conditions</h2><p align="left"><br></p><h5 align="left">Any
 information users provide in the form of judgments between texts while 
participating in this research project can be freely used and 
distributed by the BYU Department of Digital Humanities and others under
 standard open-source licensing. User data such as names and emails are 
stored in this system, but will not be distributed or used beyond 
authentication for this site alone and tracking users to their 
judgments. Users may at any point freely leave the current project. Upon
 doing so, however, the judgments they provided will remain in the 
system, and may still be used as explained above.</h5><h5 align="left"><br></h5><h5 align="left">By clicking on Agree, I certify that I have read and agree to the above terms and conditions.<br></h5>
"""
<div class="text-center"><h1>Crowd Sorting</h1><h2>with the BYU Department of Digital Humanities</h2><p><br></p><h2>Please read the following instructions carefully.</h2><p>The  purpose of this project is to sort Russian texts by  difficulty. This is typically done by a language professional or  teacher, who reads each text and arbitrarily assigns a difficulty.  However, this often does not reflect the actual difficulty language  learners experience. With your help, we are removing the language  professional from the equation and annotating this corpus of texts with  nothing but actual feedback from Russian learners.</p><p>In order to  accomplish this, we are using pairwise comparisons. Rather than ask you  to read a text and guess its difficulty, we are simply asking you to  compare two texts. You will be presented with two relatively short texts  in Russian. Your task is to read each one and indicate which of the two  is easier. To be clear - <b>simply pick which of the two texts is easier for you to read.</b><br></p><p>Below are some guidelines for this process. Please read them thoroughly and keep them in mind as you judge text pairs.</p><p><b>1. Read each text carefully.</b><br></p><p>In  order for us to get valid feedback, you must read both texts. You can  read one after the other, or switch between them at paragraph or  sentence breaks. Find a system that works for you, as long as you are  engaging with both texts.</p><p><b>2. Do not judge on length alone.</b></p><p>Some  texts are very long, and others are short. This does not necessarily  indicate difficulty. Think of comparing a short scientific paper to a  children's chapter book. The book is obviously easier, but it is also  longer. Do not simply pick the shorter text as the easier one.</p><p><b>3. You do not have to read the entire text.</b></p><p>As  stated above, some of the texts are very long. For these, you do not  have to read them entirely. Read enough to get a feel for their  difficulty, perhaps reading portions from the beginning, middle, and  end. As long as you give an honest effort to understand each text and  feel how difficult it is to read, that is enough.</p><p><b>4. Do not take too long or think too much.</b></p><p>We  are most interested in your first impression. For most pairs, it should  be apparent after reading several lines which is easier to understand.  Do not spend a lot of time debating which is harder, or overthinking  your answer. If two texts seem very close in difficulty, then select  whichever is easier to read (even marginally) and move on.</p><p><b>5. Use the Too Hard button sparingly.</b></p><p>In  the upper right corner will be a button labeled "Too Hard." This should  only be used if you encounter two texts which you flat out cannot  understand. Think of trying to judge between two texts in Chinese (or  another language you don't know). You have no way of telling which is  easier to read, because both are so far above your level. This is the  only case in which you should use the Too Hard button. <b>DO NOT </b>use this button if two texts are just very close to each other in difficulty.</p><p>Keep  in mind that you do not have to understand both texts perfectly to tell  which is harder. This is the advantage of our sorting algorithm. Even  beginning language learners can often tell which of two texts is easier  for them to read, without understanding every word. Don't be afraid to  use the Too Hard button if needed, but try your best to judge between  every pair.<br></p><p><br></p><p>If you have questions, refer to the Help Section below the sorter or ask your proctor.<br></p><p><br></p><p>You  will be prompted to agree to our Terms and Conditions on the next page.  After agreeing once, you will only be asked again if your proctor  updates them.<br></p><p><br></p><p>Thank you for your participation!  Once you have read the instructions above, click on Begin Sorting below.  You may return to the sorter at any time by clicking Sorter in the  toolbar.<br></p></div> <h2 align="left">Terms and Conditions</h2><p align="left"><br></p><h5 align="left">Any  information users provide in the form of judgments between texts while  participating in this research project can be freely used and  distributed by the BYU Department of Digital Humanities and others under  standard open-source licensing. User data such as names and emails are  stored in this system, but will not be distributed or used beyond  authentication for this site alone and tracking users to their  judgments. Users may at any point freely leave the current project. Upon  doing so, however, the judgments they provided will remain in the  system, and may still be used as explained above.</h5><h5 align="left"><br></h5><h5 align="left">By clicking on Agree, I certify that I have read and agree to the above terms and conditions.<br></h5>