Repository: oppia/oppia

Issue:
Update docstrings in the python backend code.
The aim of this issue is to ensure that every backend file is properly documented. The docstrings serve as guidance to developers to help them understand what a class or a method is doing, so they must be written accurately.

Some useful tips:

- Please follow our [style guide](https://github.com/oppia/oppia/wiki/Coding-style-guide#general) and also the [Google Python style guide](https://google.github.io/styleguide/pyguide.html?showone=Comments#Comments) when writing the docstrings. Make sure to follow the patterns established there as closely as possible, including spacing, capitalization and punctuation.

- Make sure that the docstrings for every function include Args, Returns, Raises etc. as and when applicable. If there are no args, then you can omit writing Args. Likewise for Returns, Raises etc. as well.

- If a docstring is not present in the code, or the existing one is too vague for you to understand what's going on just by looking at it, then it should be rewritten to be more clear. You'll often need to read the code as well, and do a grep to find out specific method used in several files and in many other situations.

- Every argument name under Args and under Returns or Raises should have a data type mentioned along with it. Make separate efforts to analyze their data types as this might be a bit tricky sometimes and there are many chances of getting mistaken. You can, for example, try to run the method/function while temporarily adding `raise(type(X))` or `logging.info(type(X))` to get the information you need.

- Leave one line before each of Args, Returns and Raises. Indent any continuation lines by 4 spaces. See existing docstrings for examples.

- If you feel that some files are absent from the list or some parts of the codebase are unclear or incorrectly factored, please feel free to bring this up!

**Running tests on a specific file**
- Go to the directory where the file is present (say-- if the file is in core directory, perform `cd core` to reach to the directory).
- Execute `pylint --disable=all --enable=missing-docstring <filename>` to perform linter checks on the file.
(**Note:** If you face any problem while running the above command, please comment out [this line](https://github.com/oppia/oppia/blob/develop/.pylintrc#L11) in .pylintrc locally and uncomment it when pushing your changes).
- Add docstrings for the lines where you find 'Missing docstrings'.

Here is the list of files that are required to be updated.
**Note:** Once this issue is complete, we will turn on missing-docstring checks in Oppia's Python linter. Also, take care that some of the test methods/classes have to be excluded from the test files as they don't require docstrings in detail.

Docstrings for test methods (`test_*` type) and test classes (`*Tests` type) don't need docstrings and hence, can be excluded while adding docstrings to the test files. Please add `no-docstring-rgx=test_[a-z_]*|[a-zA-Z]*Tests|Test[a-zA-Z]*` regex in `.pylintrc` file under `[Basic]` section.

**Needs to be done (based on code snapshot at 1 Dec 2018):**
- [x] core.jobs_test @vibhor98 
C:497, 4: Missing method docstring (missing-docstring)
C:791, 8: Missing function docstring (missing-docstring)
- [x] core.jobs @YashJipkate 
C:103, 4: Missing method docstring (missing-docstring)
C:122, 8: Missing function docstring (missing-docstring)
C:486, 4: Missing method docstring (missing-docstring)
C:490, 4: Missing method docstring (missing-docstring)
C:494, 4: Missing method docstring (missing-docstring)
C:498, 4: Missing method docstring (missing-docstring)
C:502, 4: Missing method docstring (missing-docstring)
C:506, 4: Missing method docstring (missing-docstring)
C:510, 4: Missing method docstring (missing-docstring)
C:514, 4: Missing method docstring (missing-docstring)
C:1239, 8: Missing function docstring (missing-docstring)
C:1291, 8: Missing function docstring (missing-docstring)
C:1471, 8: Missing function docstring (missing-docstring)
- [x] core.controllers.skill_editor_test @vibhor98 
C: 52, 4: Missing method docstring (missing-docstring)
C: 60, 4: Missing method docstring (missing-docstring)
C: 66, 4: Missing method docstring (missing-docstring)
C: 71, 4: Missing method docstring (missing-docstring)
C: 74, 4: Missing method docstring (missing-docstring)
- [x] core.controllers.creator_dashboard_test @vibhor98 
C:124, 4: Missing method docstring (missing-docstring)
- [x] core.controllers.editor_test @vibhor98 
C:183, 8: Missing function docstring (missing-docstring)
C:195, 8: Missing function docstring (missing-docstring)
C:1776, 4: Missing method docstring (missing-docstring)
C:1784, 4: Missing method docstring (missing-docstring)
- [x] core.controllers.reader_test @vibhor98 
C:492, 4: Missing method docstring (missing-docstring)
C:495, 4: Missing method docstring (missing-docstring)
C:525, 4: Missing method docstring (missing-docstring)
C:528, 4: Missing method docstring (missing-docstring)
C:532, 4: Missing method docstring (missing-docstring)
- [x] core.controllers.resources_test @vibhor98 
C: 31, 4: Missing method docstring (missing-docstring)
- [x] core.controllers.topics_and_skills_dashboard_test @vibhor98 
C: 50, 4: Missing method docstring (missing-docstring)
- [x] core.controllers.creator_dashboard @vibhor98 
C:168, 8: Missing function docstring (missing-docstring)
C:174, 8: Missing function docstring (missing-docstring)
- [x] core.controllers.base_test @vibhor98 
C:352, 0: Missing class docstring (missing-docstring)
C:354, 4: Missing method docstring (missing-docstring)
C:360, 4: Missing method docstring (missing-docstring)
C:529, 4: Missing class docstring (missing-docstring)
- [x] core.controllers.admin @vibhor98 
C:198, 4: Missing method docstring (missing-docstring)
C:209, 4: Missing method docstring (missing-docstring)
- [x] core.controllers.feedback_test @vibhor98 
C:396, 4: Missing method docstring (missing-docstring)
C:405, 4: Missing method docstring (missing-docstring)
- [x] core.platform.users.gae_current_user_services @vibhor98 
C: 70, 4: Missing class docstring (missing-docstring)
- [x] core.platform.search.gae_search_services @vibhor98 
C:100, 0: Missing function docstring (missing-docstring)
C:120, 0: Missing function docstring (missing-docstring)
C:307, 0: Missing function docstring (missing-docstring)
C:340, 0: Missing function docstring (missing-docstring)
- [x] core.storage.base_model.gae_models_test @YashJipkate 
C:124, 0: Missing class docstring (missing-docstring)
C:128, 0: Missing class docstring (missing-docstring)
C:138, 0: Missing class docstring (missing-docstring)
- [x] core.storage.base_model.gae_models @YashJipkate 
C:423, 4: Missing method docstring (missing-docstring)
C:431, 4: Missing method docstring (missing-docstring)
- [x] core.storage.user.gae_models @YashJipkate 
C:178, 4: Missing method docstring (missing-docstring)
C:408, 4: Missing method docstring (missing-docstring)
C:488, 4: Missing method docstring (missing-docstring)
- [x] core.tests.test_utils @YashJipkate 
C:558, 4: Missing method docstring (missing-docstring)
- [x] core.tests.performance_tests.base @YashJipkate 
C: 47, 4: Missing method docstring (missing-docstring)
C: 52, 4: Missing method docstring (missing-docstring)
C: 55, 4: Missing method docstring (missing-docstring)
C: 58, 4: Missing method docstring (missing-docstring)
C: 63, 4: Missing method docstring (missing-docstring)
C: 68, 4: Missing method docstring (missing-docstring)
C: 80, 4: Missing method docstring (missing-docstring)
C: 92, 4: Missing method docstring (missing-docstring)
C:114, 4: Missing method docstring (missing-docstring)
C:121, 4: Missing method docstring (missing-docstring)
C:128, 4: Missing method docstring (missing-docstring)
C:135, 4: Missing method docstring (missing-docstring)
- [x] core.tests.performance_framework.perf_services @YashJipkate 
C:208, 4: Missing method docstring (missing-docstring)
C:213, 4: Missing method docstring (missing-docstring)
C:273, 4: Missing method docstring (missing-docstring)
C:278, 4: Missing method docstring (missing-docstring)
C:281, 4: Missing method docstring (missing-docstring)
C:296, 4: Missing method docstring (missing-docstring)
C:308, 4: Missing method docstring (missing-docstring)
C:319, 4: Missing method docstring (missing-docstring)
C:328, 4: Missing method docstring (missing-docstring)
C:336, 4: Missing method docstring (missing-docstring)
C:345, 4: Missing method docstring (missing-docstring)
C:357, 4: Missing method docstring (missing-docstring)
C:360, 4: Missing method docstring (missing-docstring)
C:364, 4: Missing method docstring (missing-docstring)
C:368, 4: Missing method docstring (missing-docstring)
C:372, 4: Missing method docstring (missing-docstring)
- [x] core.tests.performance_framework.perf_domain @YashJipkate 
C:175, 4: Missing method docstring (missing-docstring)
C:274, 4: Missing method docstring (missing-docstring)
- [x] core.domain.summary_services @YashJipkate 
C:495, 4: Missing function docstring (missing-docstring)
- [x] core.domain.email_jobs_one_off_test @YashJipkate 
C: 46, 8: Missing function docstring (missing-docstring)
- [x] core.domain.visualization_registry @YashJipkate 
C: 34, 4: Missing method docstring (missing-docstring)
- [x] core.domain.feedback_jobs_continuous @vddesai1871 
C: 91, 8: Missing function docstring (missing-docstring)
C:105, 8: Missing function docstring (missing-docstring)
C:119, 8: Missing function docstring (missing-docstring)
- [x] core.domain.rte_component_registry_test @vibhor98 
C: 59, 4: Missing method docstring (missing-docstring)
- [x] core.domain.exp_services_test @dev-ritik 
C: 50, 0: Missing function docstring (missing-docstring)
C:197, 4: Missing method docstring (missing-docstring)
C:2463, 8: Missing function docstring (missing-docstring)
C:2689, 4: Missing method docstring (missing-docstring)
- [x] core.domain.interaction_registry @vibhor98 
C: 41, 4: Missing method docstring (missing-docstring)
- [x] core.domain.user_jobs_continuous_test @vibhor98 
C: 92, 4: Missing method docstring (missing-docstring)
C:106, 4: Missing method docstring (missing-docstring)
C:111, 4: Missing method docstring (missing-docstring)
C:118, 4: Missing method docstring (missing-docstring)
C:662, 4: Missing method docstring (missing-docstring)
C:687, 4: Missing method docstring (missing-docstring)
C:695, 4: Missing method docstring (missing-docstring)
- [x] core.domain.calculation_registry @vibhor98 
C: 31, 4: Missing method docstring (missing-docstring)
- [x] core.domain.classifier_services_test @vibhor98 
C: 47, 4: Missing method docstring (missing-docstring)
- [x] core.domain.exp_domain_test @vibhor98 
C:4258, 8: Missing function docstring (missing-docstring)
- [x] core.domain.activity_services_test @vibhor98 
C: 36, 4: Missing method docstring (missing-docstring)
C: 40, 4: Missing method docstring (missing-docstring)
C: 44, 4: Missing method docstring (missing-docstring)
- [x] core.domain.feedback_services_test @vibhor98 
C:133, 4: Missing method docstring (missing-docstring)
C:142, 4: Missing method docstring (missing-docstring)
C:236, 8: Missing function docstring (missing-docstring)
- [x] core.domain.stats_domain_test @vibhor98 
C: 29, 4: Missing method docstring (missing-docstring)
- [x] core.domain.story_services @vibhor98 
C:655, 4: Missing function docstring (missing-docstring)
- [x] core.domain.collection_services_test @vibhor98 
C: 41, 0: Missing function docstring (missing-docstring)
C:134, 4: Missing method docstring (missing-docstring)
C:137, 4: Missing method docstring (missing-docstring)
C:336, 4: Missing method docstring (missing-docstring)
C:1344, 8: Missing function docstring (missing-docstring)
C:1510, 4: Missing method docstring (missing-docstring)
- [x] core.domain.user_jobs_one_off_test @vibhor98 
C:739, 4: Missing method docstring (missing-docstring)
C:742, 4: Missing method docstring (missing-docstring)
- [x] core.domain.subscription_services_test @vibhor98 
C: 63, 4: Missing method docstring (missing-docstring)
C: 70, 4: Missing method docstring (missing-docstring)
C: 77, 4: Missing method docstring (missing-docstring)
C:363, 4: Missing method docstring (missing-docstring)
C:370, 4: Missing method docstring (missing-docstring)
- [x] core.domain.obj_services @vibhor98 
C: 33, 4: Missing method docstring (missing-docstring)
- [x] core.domain.stats_jobs_continuous_test @vibhor98 
C: 68, 4: Missing method docstring (missing-docstring)
C: 73, 4: Missing method docstring (missing-docstring)
- [x] core.domain.user_jobs_continuous @vibhor98 
C:389, 8: Missing function docstring (missing-docstring)
C:415, 8: Missing function docstring (missing-docstring)
- [x] core.domain.feedback_jobs_continuous_test @vibhor98 
C: 60, 4: Missing method docstring (missing-docstring)
C: 65, 4: Missing method docstring (missing-docstring)
C: 73, 4: Missing method docstring (missing-docstring)
C:438, 4: Missing method docstring (missing-docstring)
C:443, 4: Missing method docstring (missing-docstring)
- [x] core.domain.email_manager_test @vibhor98 
C:537, 8: Missing function docstring (missing-docstring)
C:584, 8: Missing function docstring (missing-docstring)
C:629, 8: Missing function docstring (missing-docstring)
C:845, 8: Missing function docstring (missing-docstring)
C:865, 8: Missing function docstring (missing-docstring)
C:916, 8: Missing function docstring (missing-docstring)
- [x] core.domain.story_services_test @vibhor98 
C:426, 4: Missing method docstring (missing-docstring)
C:430, 4: Missing method docstring (missing-docstring)
- [x] core.domain.stats_services_test @vibhor98 
C:1571, 4: Missing method docstring (missing-docstring)
C:1576, 4: Missing method docstring (missing-docstring)
C:1583, 4: Missing method docstring (missing-docstring)
C:1591, 4: Missing method docstring (missing-docstring)
C:1601, 4: Missing method docstring (missing-docstring)
C:1605, 4: Missing method docstring (missing-docstring)
C:1615, 4: Missing method docstring (missing-docstring)
C:1626, 4: Missing method docstring (missing-docstring)
C:1895, 4: Missing method docstring (missing-docstring)
C:1899, 4: Missing method docstring (missing-docstring)
C:1904, 4: Missing method docstring (missing-docstring)
C:1911, 4: Missing method docstring (missing-docstring)
C:1920, 4: Missing method docstring (missing-docstring)
- [x] core.domain.user_services_test @vibhor98 
C:946, 8: Missing class docstring (missing-docstring)
C:954,12: Missing method docstring (missing-docstring)
C:961,12: Missing method docstring (missing-docstring)
- [x] core.domain.rating_services @vibhor98 
C: 59, 4: Missing function docstring (missing-docstring)
- [x] core.domain.email_manager @vibhor98 
C:267, 4: Missing function docstring (missing-docstring)
C:314, 4: Missing function docstring (missing-docstring)
- [x] core.domain.classifier_domain_test @vibhor98 
C: 29, 4: Missing method docstring (missing-docstring)
C:165, 4: Missing method docstring (missing-docstring)
- [x] core.domain.learner_playlist_services_test @vibhor98 
C: 81, 4: Missing method docstring (missing-docstring)
C: 89, 4: Missing method docstring (missing-docstring)
- [x] core.domain.learner_progress_services_test @vibhor98 
C: 90, 4: Missing method docstring (missing-docstring)
C: 99, 4: Missing method docstring (missing-docstring)
C:108, 4: Missing method docstring (missing-docstring)
C:116, 4: Missing method docstring (missing-docstring)
C:129, 4: Missing method docstring (missing-docstring)
C:145, 4: Missing method docstring (missing-docstring)

Extensions
- [x] extensions.objects.models.objects @vibhor98 
C:513, 8: Missing function docstring (missing-docstring)
C:520, 8: Missing function docstring (missing-docstring)
- [x] extensions.objects.models.objects_test @vibhor98 
C:441, 4: Missing method docstring (missing-docstring)
- [x] extensions.interactions.base @vibhor98 
C:188, 4: Missing method docstring (missing-docstring)
- [x] extensions.interactions.base_test @vibhor98 
C: 84, 4: Missing method docstring (missing-docstring)
C:107, 4: Missing method docstring (missing-docstring)
C:112, 4: Missing method docstring (missing-docstring)
C:137, 4: Missing method docstring (missing-docstring)
C:183, 8: Missing function docstring (missing-docstring)
- [x] extensions.answer_summarizers.models_test @vibhor98 
C: 40, 4: Missing method docstring (missing-docstring)

Scripts
- [x] scripts.pre_push_hook @vibhor98 
C:216, 0: Missing function docstring (missing-docstring)
C:225, 0: Missing function docstring (missing-docstring)
C:232, 0: Missing function docstring (missing-docstring)
C:247, 0: Missing function docstring (missing-docstring)
- [x] scripts.pre_commit_linter @vibhor98 
W:1668, 4: Unreachable code (unreachable)
- [x] scripts.install_third_party @vibhor98 
C:336, 0: Missing function docstring (missing-docstring)
- [x] scripts.docstrings_checker_test @vibhor98 
C: 23, 0: Missing class docstring (missing-docstring)
- [x] scripts.deploy @vibhor98 
C:200, 0: Missing function docstring (missing-docstring)
- [x] scripts.update_feconf @vibhor98 
C: 69, 0: Missing function docstring (missing-docstring)

 - [ ] Enable the check for mandatory args and returns once all docstrings are completed @apb7

**Completed:**
- [x] oppia.feconf @rahulnitdgp
- [x] oppia.scripts.build (@hoangviet1993 #5580)
 - [X] oppia.core.domain.acl_decorators: Check and correct the return types @apb7
 - [x] core.controllers.base @apb7 
Add docstrings for methods at line no.- 134, 537
- [x] core.controllers.cron @WickedBrat 
Add docstrings for class at line no.- 109  
- [x] core.controllers.collection_editor @vibhor98
Add docstrings for classes at line no.- 165, 201
- [x] core.controllers.learner_dashboard @hundredrab 
Add docstrings for class at line no.- 121
Add docstrings for methods at line no.- 33, 124
- [x] core.controllers.pages @Vishnu-M 
Add docstrings for method at line no.- 28
- [x] core.domain.acl_decorators @vibhor98
- [x] core.domain.classifier_domain @apb7
Add docstrings for methods at line no.- 45, 173
- [x] core.domain.collection_domain @vibhor98
Add docstrings for methods at line no.-
Add docstrings for class at line no.- 32
- [x] core.domain.config_domain @vibhor98
- [x] core.domain.email_manager @vibhor98
Add docstrings for methods at line no.- 37, 928, 939
- [x] core.domain.email_subscription_services @Kunalgarg2100 
- [X] core.domain.feedback_jobs_continuous @netajik #5680
Add docstrings for method at line no.- 21
- [x] oppia.core.controllers.translator @netajik 
- [x] core.domain.feedback_jobs_continuous @apb7 
- [x] core.domain.fs_domain @vibhor98
- [x] core.domain.param_domain @jervis446 
Add docstrings for method at line no.- 146
- [x] core.domain.stats_domain @vibhor98
- [x] core.domain.stats_jobs_continuous @vibhor98
- [x] core.domain.stats_jobs_one_off @abhimanyuthakre
- [x] core.domain.user_jobs_continuous @GanitGenius 
- [x] core.domain.user_jobs_one_off @GanitGenius 
- [x] core.domain.user_query_services @proishan11 
- [x] core.domain.user_services @proishan11 
- [x] core.domain.value_generators_domain @vasutomar 
- [x] core.jobs @GanitGenius 
Add docstrings for classes at line no.- 518, 581, 613, 643, 846, 934
- [x] core.tests.test_util_jobs @vibhor98
- [x] core.platform.models @joydeep1701
- [x] core.platform.email.gae_email_services @square-1111 
- [x] core.storage.collection.gae_models @vibhor98
- [x] core.storage.email.gae_models @vibhor98
- [x] core.storage.exploration.gae_models @vibhor98
- [x] core.storage.feedback.gae_models @vibhor98
- [x] core.storage.file.gae_models @vibhor98
- [X] core.storage.job.gae_models @divyadeep1 
- [x] core.tests.test_utils @apb7 
- [x] oppia.export.cloud_datastore_admin @mahjong 
- [x] oppia.extensions.interactions.base @vibhor98 
- [x] oppia.extensions.actions.base @vibhor98
- [x] oppia.extensions.answer_summarizers.models @vibhor98
- [x] oppia.extensions.issues.base @vibhor98
- [x] oppia.core.domain.skill_domain @vibhor98
- [x] oppia.extensions.objects.models.objects @vibhor98
- [x] oppia.extensions.visualizations.models @vibhor98 
- [x] oppia.scripts.pylint_extensions @tonadev 
- [x] oppia.scripts.cut_release_branch @tonadev 
- [x] oppia.scripts.docstrings_checker @lilithxxx 
- [x] oppia.scripts.prepare_automatic_backups @import-keshav 
- [x] oppia.scripts.pre_commit_linter @import-keshav 
- [x] oppia.scripts.pre_push_hook @import-keshav 
- [x] oppia.main @abeerunscore96
- [x] oppia.core.domain.acl_decorators @dchen97 
- [x] oppia.core.domain.stats_jobs_one_off @vibhor98 - #5734
- [x] Add module docstrings to- `TextInput`, `Continue`, `PencilCodeEditor`, `MusicNotesInput`, `NumericInput`, `CodeRepl`, `MultipleChoiceInput`, `InteractiveMap`, `GraphInput`, `LogicProof`, `FractionInput`, `SetInput`, `ImageClickInput`, `ItemSelectionInput`, `MathExpressionInput`, `EndExploration`. @vibhor98 #5734
- [x] oppia.scripts.build @import-keshav  -- #5808
- [x] oppia.core.domain.acl_decorators @dchen97 #5803
- [x] oppia.extensions.objects.models.objects @rafalk342
- [x] oppia.schema_utils @vibhor98  #5849
- [x] oppia.core.domain.fs_services @vibhor98  #5849
- [x] oppia.core.storage.question.gae_models @vibhor98  #5849
- [x] oppia.scripts.docstrings_checker @import-keshav 
- [x] oppia.scripts.common @import-keshav 
- [x] oppia.jinja_utils @vibhor98 
Update docstrings in the python backend code.
The aim of this issue is to ensure that every backend file is properly documented. The docstrings serve as guidance to developers to help them understand what a class or a method is doing, so they must be written accurately.

Some useful tips:

- Please follow our [style guide](https://github.com/oppia/oppia/wiki/Coding-style-guide#general) and also the [Google Python style guide](https://google.github.io/styleguide/pyguide.html?showone=Comments#Comments) when writing the docstrings. Make sure to follow the patterns established there as closely as possible, including spacing, capitalization and punctuation.

- Make sure that the docstrings for every function include Args, Returns, Raises etc. as and when applicable. If there are no args, then you can omit writing Args. Likewise for Returns, Raises etc. as well.

- If a docstring is not present in the code, or the existing one is too vague for you to understand what's going on just by looking at it, then it should be rewritten to be more clear. You'll often need to read the code as well, and do a grep to find out specific method used in several files and in many other situations.

- Every argument name under Args and under Returns or Raises should have a data type mentioned along with it. Make separate efforts to analyze their data types as this might be a bit tricky sometimes and there are many chances of getting mistaken. You can, for example, try to run the method/function while temporarily adding `raise(type(X))` or `logging.info(type(X))` to get the information you need.

- Leave one line before each of Args, Returns and Raises. Indent any continuation lines by 4 spaces. See existing docstrings for examples.

- If you feel that some files are absent from the list or some parts of the codebase are unclear or incorrectly factored, please feel free to bring this up!

**Running tests on a specific file**
- Go to the directory where the file is present (say-- if the file is in core directory, perform `cd core` to reach to the directory).
- Execute `pylint --disable=all --enable=missing-docstring <filename>` to perform linter checks on the file.
(**Note:** If you face any problem while running the above command, please comment out [this line](https://github.com/oppia/oppia/blob/develop/.pylintrc#L11) in .pylintrc locally and uncomment it when pushing your changes).
- Add docstrings for the lines where you find 'Missing docstrings'.

Here is the list of files that are required to be updated.
**Note:** Once this issue is complete, we will turn on missing-docstring checks in Oppia's Python linter. Also, take care that some of the test methods/classes have to be excluded from the test files as they don't require docstrings in detail.

Docstrings for test methods (`test_*` type) and test classes (`*Tests` type) don't need docstrings and hence, can be excluded while adding docstrings to the test files. Please add `no-docstring-rgx=test_[a-z_]*|[a-zA-Z]*Tests|Test[a-zA-Z]*` regex in `.pylintrc` file under `[Basic]` section.

**Needs to be done (based on code snapshot at 1 Dec 2018):**
- [x] core.jobs_test @vibhor98 
C:497, 4: Missing method docstring (missing-docstring)
C:791, 8: Missing function docstring (missing-docstring)
- [x] core.jobs @YashJipkate 
C:103, 4: Missing method docstring (missing-docstring)
C:122, 8: Missing function docstring (missing-docstring)
C:486, 4: Missing method docstring (missing-docstring)
C:490, 4: Missing method docstring (missing-docstring)
C:494, 4: Missing method docstring (missing-docstring)
C:498, 4: Missing method docstring (missing-docstring)
C:502, 4: Missing method docstring (missing-docstring)
C:506, 4: Missing method docstring (missing-docstring)
C:510, 4: Missing method docstring (missing-docstring)
C:514, 4: Missing method docstring (missing-docstring)
C:1239, 8: Missing function docstring (missing-docstring)
C:1291, 8: Missing function docstring (missing-docstring)
C:1471, 8: Missing function docstring (missing-docstring)
- [x] core.controllers.skill_editor_test @vibhor98 
C: 52, 4: Missing method docstring (missing-docstring)
C: 60, 4: Missing method docstring (missing-docstring)
C: 66, 4: Missing method docstring (missing-docstring)
C: 71, 4: Missing method docstring (missing-docstring)
C: 74, 4: Missing method docstring (missing-docstring)
- [x] core.controllers.creator_dashboard_test @vibhor98 
C:124, 4: Missing method docstring (missing-docstring)
- [x] core.controllers.editor_test @vibhor98 
C:183, 8: Missing function docstring (missing-docstring)
C:195, 8: Missing function docstring (missing-docstring)
C:1776, 4: Missing method docstring (missing-docstring)
C:1784, 4: Missing method docstring (missing-docstring)
- [x] core.controllers.reader_test @vibhor98 
C:492, 4: Missing method docstring (missing-docstring)
C:495, 4: Missing method docstring (missing-docstring)
C:525, 4: Missing method docstring (missing-docstring)
C:528, 4: Missing method docstring (missing-docstring)
C:532, 4: Missing method docstring (missing-docstring)
- [x] core.controllers.resources_test @vibhor98 
C: 31, 4: Missing method docstring (missing-docstring)
- [x] core.controllers.topics_and_skills_dashboard_test @vibhor98 
C: 50, 4: Missing method docstring (missing-docstring)
- [x] core.controllers.creator_dashboard @vibhor98 
C:168, 8: Missing function docstring (missing-docstring)
C:174, 8: Missing function docstring (missing-docstring)
- [x] core.controllers.base_test @vibhor98 
C:352, 0: Missing class docstring (missing-docstring)
C:354, 4: Missing method docstring (missing-docstring)
C:360, 4: Missing method docstring (missing-docstring)
C:529, 4: Missing class docstring (missing-docstring)
- [x] core.controllers.admin @vibhor98 
C:198, 4: Missing method docstring (missing-docstring)
C:209, 4: Missing method docstring (missing-docstring)
- [x] core.controllers.feedback_test @vibhor98 
C:396, 4: Missing method docstring (missing-docstring)
C:405, 4: Missing method docstring (missing-docstring)
- [x] core.platform.users.gae_current_user_services @vibhor98 
C: 70, 4: Missing class docstring (missing-docstring)
- [x] core.platform.search.gae_search_services @vibhor98 
C:100, 0: Missing function docstring (missing-docstring)
C:120, 0: Missing function docstring (missing-docstring)
C:307, 0: Missing function docstring (missing-docstring)
C:340, 0: Missing function docstring (missing-docstring)
- [x] core.storage.base_model.gae_models_test @YashJipkate 
C:124, 0: Missing class docstring (missing-docstring)
C:128, 0: Missing class docstring (missing-docstring)
C:138, 0: Missing class docstring (missing-docstring)
- [x] core.storage.base_model.gae_models @YashJipkate 
C:423, 4: Missing method docstring (missing-docstring)
C:431, 4: Missing method docstring (missing-docstring)
- [x] core.storage.user.gae_models @YashJipkate 
C:178, 4: Missing method docstring (missing-docstring)
C:408, 4: Missing method docstring (missing-docstring)
C:488, 4: Missing method docstring (missing-docstring)
- [x] core.tests.test_utils @YashJipkate 
C:558, 4: Missing method docstring (missing-docstring)
- [x] core.tests.performance_tests.base @YashJipkate 
C: 47, 4: Missing method docstring (missing-docstring)
C: 52, 4: Missing method docstring (missing-docstring)
C: 55, 4: Missing method docstring (missing-docstring)
C: 58, 4: Missing method docstring (missing-docstring)
C: 63, 4: Missing method docstring (missing-docstring)
C: 68, 4: Missing method docstring (missing-docstring)
C: 80, 4: Missing method docstring (missing-docstring)
C: 92, 4: Missing method docstring (missing-docstring)
C:114, 4: Missing method docstring (missing-docstring)
C:121, 4: Missing method docstring (missing-docstring)
C:128, 4: Missing method docstring (missing-docstring)
C:135, 4: Missing method docstring (missing-docstring)
- [x] core.tests.performance_framework.perf_services @YashJipkate 
C:208, 4: Missing method docstring (missing-docstring)
C:213, 4: Missing method docstring (missing-docstring)
C:273, 4: Missing method docstring (missing-docstring)
C:278, 4: Missing method docstring (missing-docstring)
C:281, 4: Missing method docstring (missing-docstring)
C:296, 4: Missing method docstring (missing-docstring)
C:308, 4: Missing method docstring (missing-docstring)
C:319, 4: Missing method docstring (missing-docstring)
C:328, 4: Missing method docstring (missing-docstring)
C:336, 4: Missing method docstring (missing-docstring)
C:345, 4: Missing method docstring (missing-docstring)
C:357, 4: Missing method docstring (missing-docstring)
C:360, 4: Missing method docstring (missing-docstring)
C:364, 4: Missing method docstring (missing-docstring)
C:368, 4: Missing method docstring (missing-docstring)
C:372, 4: Missing method docstring (missing-docstring)
- [x] core.tests.performance_framework.perf_domain @YashJipkate 
C:175, 4: Missing method docstring (missing-docstring)
C:274, 4: Missing method docstring (missing-docstring)
- [x] core.domain.summary_services @YashJipkate 
C:495, 4: Missing function docstring (missing-docstring)
- [x] core.domain.email_jobs_one_off_test @YashJipkate 
C: 46, 8: Missing function docstring (missing-docstring)
- [x] core.domain.visualization_registry @YashJipkate 
C: 34, 4: Missing method docstring (missing-docstring)
- [x] core.domain.feedback_jobs_continuous @vddesai1871 
C: 91, 8: Missing function docstring (missing-docstring)
C:105, 8: Missing function docstring (missing-docstring)
C:119, 8: Missing function docstring (missing-docstring)
- [x] core.domain.rte_component_registry_test @vibhor98 
C: 59, 4: Missing method docstring (missing-docstring)
- [x] core.domain.exp_services_test @dev-ritik 
C: 50, 0: Missing function docstring (missing-docstring)
C:197, 4: Missing method docstring (missing-docstring)
C:2463, 8: Missing function docstring (missing-docstring)
C:2689, 4: Missing method docstring (missing-docstring)
- [x] core.domain.interaction_registry @vibhor98 
C: 41, 4: Missing method docstring (missing-docstring)
- [x] core.domain.user_jobs_continuous_test @vibhor98 
C: 92, 4: Missing method docstring (missing-docstring)
C:106, 4: Missing method docstring (missing-docstring)
C:111, 4: Missing method docstring (missing-docstring)
C:118, 4: Missing method docstring (missing-docstring)
C:662, 4: Missing method docstring (missing-docstring)
C:687, 4: Missing method docstring (missing-docstring)
C:695, 4: Missing method docstring (missing-docstring)
- [x] core.domain.calculation_registry @vibhor98 
C: 31, 4: Missing method docstring (missing-docstring)
- [x] core.domain.classifier_services_test @vibhor98 
C: 47, 4: Missing method docstring (missing-docstring)
- [x] core.domain.exp_domain_test @vibhor98 
C:4258, 8: Missing function docstring (missing-docstring)
- [x] core.domain.activity_services_test @vibhor98 
C: 36, 4: Missing method docstring (missing-docstring)
C: 40, 4: Missing method docstring (missing-docstring)
C: 44, 4: Missing method docstring (missing-docstring)
- [x] core.domain.feedback_services_test @vibhor98 
C:133, 4: Missing method docstring (missing-docstring)
C:142, 4: Missing method docstring (missing-docstring)
C:236, 8: Missing function docstring (missing-docstring)
- [x] core.domain.stats_domain_test @vibhor98 
C: 29, 4: Missing method docstring (missing-docstring)
- [x] core.domain.story_services @vibhor98 
C:655, 4: Missing function docstring (missing-docstring)
- [x] core.domain.collection_services_test @vibhor98 
C: 41, 0: Missing function docstring (missing-docstring)
C:134, 4: Missing method docstring (missing-docstring)
C:137, 4: Missing method docstring (missing-docstring)
C:336, 4: Missing method docstring (missing-docstring)
C:1344, 8: Missing function docstring (missing-docstring)
C:1510, 4: Missing method docstring (missing-docstring)
- [x] core.domain.user_jobs_one_off_test @vibhor98 
C:739, 4: Missing method docstring (missing-docstring)
C:742, 4: Missing method docstring (missing-docstring)
- [x] core.domain.subscription_services_test @vibhor98 
C: 63, 4: Missing method docstring (missing-docstring)
C: 70, 4: Missing method docstring (missing-docstring)
C: 77, 4: Missing method docstring (missing-docstring)
C:363, 4: Missing method docstring (missing-docstring)
C:370, 4: Missing method docstring (missing-docstring)
- [x] core.domain.obj_services @vibhor98 
C: 33, 4: Missing method docstring (missing-docstring)
- [x] core.domain.stats_jobs_continuous_test @vibhor98 
C: 68, 4: Missing method docstring (missing-docstring)
C: 73, 4: Missing method docstring (missing-docstring)
- [x] core.domain.user_jobs_continuous @vibhor98 
C:389, 8: Missing function docstring (missing-docstring)
C:415, 8: Missing function docstring (missing-docstring)
- [x] core.domain.feedback_jobs_continuous_test @vibhor98 
C: 60, 4: Missing method docstring (missing-docstring)
C: 65, 4: Missing method docstring (missing-docstring)
C: 73, 4: Missing method docstring (missing-docstring)
C:438, 4: Missing method docstring (missing-docstring)
C:443, 4: Missing method docstring (missing-docstring)
- [x] core.domain.email_manager_test @vibhor98 
C:537, 8: Missing function docstring (missing-docstring)
C:584, 8: Missing function docstring (missing-docstring)
C:629, 8: Missing function docstring (missing-docstring)
C:845, 8: Missing function docstring (missing-docstring)
C:865, 8: Missing function docstring (missing-docstring)
C:916, 8: Missing function docstring (missing-docstring)
- [x] core.domain.story_services_test @vibhor98 
C:426, 4: Missing method docstring (missing-docstring)
C:430, 4: Missing method docstring (missing-docstring)
- [x] core.domain.stats_services_test @vibhor98 
C:1571, 4: Missing method docstring (missing-docstring)
C:1576, 4: Missing method docstring (missing-docstring)
C:1583, 4: Missing method docstring (missing-docstring)
C:1591, 4: Missing method docstring (missing-docstring)
C:1601, 4: Missing method docstring (missing-docstring)
C:1605, 4: Missing method docstring (missing-docstring)
C:1615, 4: Missing method docstring (missing-docstring)
C:1626, 4: Missing method docstring (missing-docstring)
C:1895, 4: Missing method docstring (missing-docstring)
C:1899, 4: Missing method docstring (missing-docstring)
C:1904, 4: Missing method docstring (missing-docstring)
C:1911, 4: Missing method docstring (missing-docstring)
C:1920, 4: Missing method docstring (missing-docstring)
- [x] core.domain.user_services_test @vibhor98 
C:946, 8: Missing class docstring (missing-docstring)
C:954,12: Missing method docstring (missing-docstring)
C:961,12: Missing method docstring (missing-docstring)
- [x] core.domain.rating_services @vibhor98 
C: 59, 4: Missing function docstring (missing-docstring)
- [x] core.domain.email_manager @vibhor98 
C:267, 4: Missing function docstring (missing-docstring)
C:314, 4: Missing function docstring (missing-docstring)
- [x] core.domain.classifier_domain_test @vibhor98 
C: 29, 4: Missing method docstring (missing-docstring)
C:165, 4: Missing method docstring (missing-docstring)
- [x] core.domain.learner_playlist_services_test @vibhor98 
C: 81, 4: Missing method docstring (missing-docstring)
C: 89, 4: Missing method docstring (missing-docstring)
- [x] core.domain.learner_progress_services_test @vibhor98 
C: 90, 4: Missing method docstring (missing-docstring)
C: 99, 4: Missing method docstring (missing-docstring)
C:108, 4: Missing method docstring (missing-docstring)
C:116, 4: Missing method docstring (missing-docstring)
C:129, 4: Missing method docstring (missing-docstring)
C:145, 4: Missing method docstring (missing-docstring)

Extensions
- [x] extensions.objects.models.objects @vibhor98 
C:513, 8: Missing function docstring (missing-docstring)
C:520, 8: Missing function docstring (missing-docstring)
- [x] extensions.objects.models.objects_test @vibhor98 
C:441, 4: Missing method docstring (missing-docstring)
- [x] extensions.interactions.base @vibhor98 
C:188, 4: Missing method docstring (missing-docstring)
- [x] extensions.interactions.base_test @vibhor98 
C: 84, 4: Missing method docstring (missing-docstring)
C:107, 4: Missing method docstring (missing-docstring)
C:112, 4: Missing method docstring (missing-docstring)
C:137, 4: Missing method docstring (missing-docstring)
C:183, 8: Missing function docstring (missing-docstring)
- [x] extensions.answer_summarizers.models_test @vibhor98 
C: 40, 4: Missing method docstring (missing-docstring)

Scripts
- [x] scripts.pre_push_hook @vibhor98 
C:216, 0: Missing function docstring (missing-docstring)
C:225, 0: Missing function docstring (missing-docstring)
C:232, 0: Missing function docstring (missing-docstring)
C:247, 0: Missing function docstring (missing-docstring)
- [x] scripts.pre_commit_linter @vibhor98 
W:1668, 4: Unreachable code (unreachable)
- [x] scripts.install_third_party @vibhor98 
C:336, 0: Missing function docstring (missing-docstring)
- [x] scripts.docstrings_checker_test @vibhor98 
C: 23, 0: Missing class docstring (missing-docstring)
- [x] scripts.deploy @vibhor98 
C:200, 0: Missing function docstring (missing-docstring)
- [x] scripts.update_feconf @vibhor98 
C: 69, 0: Missing function docstring (missing-docstring)

 - [ ] Enable the check for mandatory args and returns once all docstrings are completed @apb7

**Completed:**
- [x] oppia.feconf @rahulnitdgp
- [x] oppia.scripts.build (@hoangviet1993 #5580)
 - [X] oppia.core.domain.acl_decorators: Check and correct the return types @apb7
 - [x] core.controllers.base @apb7 
Add docstrings for methods at line no.- 134, 537
- [x] core.controllers.cron @WickedBrat 
Add docstrings for class at line no.- 109  
- [x] core.controllers.collection_editor @vibhor98
Add docstrings for classes at line no.- 165, 201
- [x] core.controllers.learner_dashboard @hundredrab 
Add docstrings for class at line no.- 121
Add docstrings for methods at line no.- 33, 124
- [x] core.controllers.pages @Vishnu-M 
Add docstrings for method at line no.- 28
- [x] core.domain.acl_decorators @vibhor98
- [x] core.domain.classifier_domain @apb7
Add docstrings for methods at line no.- 45, 173
- [x] core.domain.collection_domain @vibhor98
Add docstrings for methods at line no.-
Add docstrings for class at line no.- 32
- [x] core.domain.config_domain @vibhor98
- [x] core.domain.email_manager @vibhor98
Add docstrings for methods at line no.- 37, 928, 939
- [x] core.domain.email_subscription_services @Kunalgarg2100 
- [X] core.domain.feedback_jobs_continuous @netajik #5680
Add docstrings for method at line no.- 21
- [x] oppia.core.controllers.translator @netajik 
- [x] core.domain.feedback_jobs_continuous @apb7 
- [x] core.domain.fs_domain @vibhor98
- [x] core.domain.param_domain @jervis446 
Add docstrings for method at line no.- 146
- [x] core.domain.stats_domain @vibhor98
- [x] core.domain.stats_jobs_continuous @vibhor98
- [x] core.domain.stats_jobs_one_off @abhimanyuthakre
- [x] core.domain.user_jobs_continuous @GanitGenius 
- [x] core.domain.user_jobs_one_off @GanitGenius 
- [x] core.domain.user_query_services @proishan11 
- [x] core.domain.user_services @proishan11 
- [x] core.domain.value_generators_domain @vasutomar 
- [x] core.jobs @GanitGenius 
Add docstrings for classes at line no.- 518, 581, 613, 643, 846, 934
- [x] core.tests.test_util_jobs @vibhor98
- [x] core.platform.models @joydeep1701
- [x] core.platform.email.gae_email_services @square-1111 
- [x] core.storage.collection.gae_models @vibhor98
- [x] core.storage.email.gae_models @vibhor98
- [x] core.storage.exploration.gae_models @vibhor98
- [x] core.storage.feedback.gae_models @vibhor98
- [x] core.storage.file.gae_models @vibhor98
- [X] core.storage.job.gae_models @divyadeep1 
- [x] core.tests.test_utils @apb7 
- [x] oppia.export.cloud_datastore_admin @mahjong 
- [x] oppia.extensions.interactions.base @vibhor98 
- [x] oppia.extensions.actions.base @vibhor98
- [x] oppia.extensions.answer_summarizers.models @vibhor98
- [x] oppia.extensions.issues.base @vibhor98
- [x] oppia.core.domain.skill_domain @vibhor98
- [x] oppia.extensions.objects.models.objects @vibhor98
- [x] oppia.extensions.visualizations.models @vibhor98 
- [x] oppia.scripts.pylint_extensions @tonadev 
- [x] oppia.scripts.cut_release_branch @tonadev 
- [x] oppia.scripts.docstrings_checker @lilithxxx 
- [x] oppia.scripts.prepare_automatic_backups @import-keshav 
- [x] oppia.scripts.pre_commit_linter @import-keshav 
- [x] oppia.scripts.pre_push_hook @import-keshav 
- [x] oppia.main @abeerunscore96
- [x] oppia.core.domain.acl_decorators @dchen97 
- [x] oppia.core.domain.stats_jobs_one_off @vibhor98 - #5734
- [x] Add module docstrings to- `TextInput`, `Continue`, `PencilCodeEditor`, `MusicNotesInput`, `NumericInput`, `CodeRepl`, `MultipleChoiceInput`, `InteractiveMap`, `GraphInput`, `LogicProof`, `FractionInput`, `SetInput`, `ImageClickInput`, `ItemSelectionInput`, `MathExpressionInput`, `EndExploration`. @vibhor98 #5734
- [x] oppia.scripts.build @import-keshav  -- #5808
- [x] oppia.core.domain.acl_decorators @dchen97 #5803
- [x] oppia.extensions.objects.models.objects @rafalk342
- [x] oppia.schema_utils @vibhor98  #5849
- [x] oppia.core.domain.fs_services @vibhor98  #5849
- [x] oppia.core.storage.question.gae_models @vibhor98  #5849
- [x] oppia.scripts.docstrings_checker @import-keshav 
- [x] oppia.scripts.common @import-keshav 
- [x] oppia.jinja_utils @vibhor98 


Discussion:
Hi @yashLadha @apb7 these are the set of files that need addition of docstrings. You can follow the guidelines and tackle files one by one. Remember we need to work together collaboratively so I will be keeping track of you time to time. Please share if you encounter any type of problem in the future.
Hello! I'm new here and would like to start working on this.
Hi @hundredrab -- sounds good, thanks! Would you mind following the instructions [here](https://github.com/oppia/oppia/wiki/Contributing-code-to-Oppia#setting-things-up) to get started? Once you've done that, feel free to pick a file on this issue and tell us what it is, and we'll update the thread accordingly. Thanks!
@seanlip sure. I'd like to work on `core.controllers.learner_dashboard` thanks
Thanks -- let us know when you have finished the instructions I mentioned above, and we can assign you then.
@seanlip I am new here and have read the instructions.Can I work on `core.controllers.pages`? 
  
Hi @Vishnu-M. Sounds Good! Please follow  the instructions first [here](https://github.com/oppia/oppia/wiki/Contributing-code-to-Oppia#setting-things-up) and sign the CLA to get started.
Once you are done, you can pick any file of your choice.  
Hey @vibhor98! I'd like to work on `core.controllers.base`. Also, [line 537](https://github.com/oppia/oppia/blob/develop/core/controllers/base.py#L537) does not exactly point to a method (It points to `digester.digest`). Can you please point out which method was being referred there?  
Thanks!
@apb7  Sure assigned you. You can run the pylint test on specific file given as in the instructions. 
  
Hi @apb7 , I guess that's just a typos 
```
************* Module oppia.core.controllers.base
C:134, 4: Missing method docstring (missing-docstring)
C:543, 4: Missing method docstring (missing-docstring)
C:547, 4: Missing method docstring (missing-docstring)
```
you can may prefer this^
  
Thanks, @vibhor98 and @DubeySandeep!
@vibhor98  I'd like to work on core.domain.email_subscription_services
Hey @Kunalgarg2100 Have you followed the instructions given [here](https://github.com/oppia/oppia/wiki/Contributing-code-to-Oppia#setting-things-up)  and signed the CLA? Please tell me when you are ready. I'll assign it to you.
Yes, I have signed.

On Mon, Jan 8, 2018 at 7:31 PM, Vibhor Agarwal <notifications@github.com>
wrote:

> Hey @Kunalgarg2100 <https://github.com/kunalgarg2100> Have you followed
> the instructions given here
> <https://github.com/oppia/oppia/wiki/Contributing-code-to-Oppia#setting-things-up>
> and signed the CLA? Please tell me when you are ready. I'll assign it to
> you.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-355973931>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AWOsVTpNcguf-7wbFLPD63I8SOnGjlbEks5tIh-8gaJpZM4RUxhe>
> .
>

Great @Kunalgarg2100. Welcome to Oppia! 😄  You can go ahead as I have assigned it to you.
Hey @vibhor98! If i am not wrong , `core.domain.collection_domain` is already Update docstrings and there is no class in line no:- 32.
Hello @jervis446! Instead of going by the mentioned line numbers, run:
`pylint --disable=all --enable=missing-docstring <path/to/file>`   
Thanks!
OK thanks @apb7 
Hi , @vibhor98 I'd like to work on  `core.domain.param_domain`
Hello @jervis446! I have assigned it to you. Thanks! 
Hello, @apb7 I new but have signed the CLA I would like to work on core.domain.stats_domain 
@NickeL74, assigned you that!
Hi @vibhor98 I was thinking to work on "core.domain.acl_decorators". But unfortunately, 
I'm getting some errors while executing the pylint command given above. Can you please help.

![error](https://user-images.githubusercontent.com/22103406/35197616-ca7b4aa2-ff07-11e7-97cf-aad646bd0815.png)


 
Hey @Nix07! Please put another `-` before `disable` (`pylint --disable=all --enable=missing-docstring <path/to/file>`) and see if that works!   
Thanks!
Give me a moment please!
Nope, it is still not working!

![12](https://user-images.githubusercontent.com/22103406/35197721-8f139bca-ff09-11e7-91dd-2cb9d62ec29b.png)

Hi @Nix07 , Is your local branch up  to date? Because these checks have been recently added and linter may not be able to find docstyle.
Yeah, it's up-to-date.  
@Nix07: Can you please do a `pylint --version` once? Also, remove these [lines](https://github.com/oppia/oppia/blob/develop/.pylintrc#L8:L11) from .pylintrc and then try once more!  
Thanks!
Can you also check you `.pylintrc` file? It contains plugin for
extensions.docstyle. May be it's not installed properly or there is any
version difference.

On Mon, Jan 22, 2018 at 12:25 AM, Nikhil Prakash <notifications@github.com>
wrote:

> Yeah, it's up-to-date.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-359271106>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AZZHvEfmjYSslQyAXPuTeVRWv6Gydml_ks5tM4gdgaJpZM4RUxhe>
> .
>

Thanks @apb7 Got the output, after removing those lines!
And Thanks @vibhor98 for your time...
@vibhor98: ~~I think the current pylint version  1.7.1 does not support `pylint.extensions.docstyle` which was used in PR #4572. It only has support for `pylint.extensions.docparams`. Please confirm your Pylint version once @vibhor98 so that we can look into this.~~ 
I tried this locally by using the exact version 1.7.1 and it works. The problem would have been with @Nix07's pylint version (1.5.2)
Thanks again @vibhor98! Sorry for troubling you :) 
@apb7 my pylint version is -- 1.8.1. So this is the issue.

On Mon, Jan 22, 2018 at 12:47 AM, Apurv Bajaj <notifications@github.com>
wrote:

> @vibhor98 <https://github.com/vibhor98>: The current pylint version 1.7.1
> does not support pylint.extensions.docstyle which was used in PR #4572
> <https://github.com/oppia/oppia/pull/4572>. It only has support for
> pylint.extensions.docparams. Please confirm your Pylint version once
> @vibhor98 <https://github.com/vibhor98> so that we can look after this.
> Thanks!
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-359272676>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AZZHvHpf7U2XifP-vdseCGJhVGNhZMBtks5tM41lgaJpZM4RUxhe>
> .
>

Hi,
Can I have core.platform.models and core.platform.email.gae_email_services ?
Regards,
Chirag Vashist
Sure go ahead @SerChirag . Assigned it to you.
Hi, @vibhor98 , I am unable to understand how I have to start because their lots of file and I confused with them, please suggest me because I am new to the opensource organization.
Hey there @Sunil16202! Please check out this [page](https://github.com/oppia/oppia/wiki/Contributing-code-to-Oppia#setting-things-up) to get started!  
Thanks!
@apb7 @vibhor98 Just to confirm @Sunil16202 has already signed the CLA. I think he needs help in getting started with this issue!
Sir I am unable to understand what's things we have to do by docstrings,
Since it is for documenting function, class etc. It is basically comment
for other developer.

Thanks
Sunill

On Jan 26, 2018 4:07 PM, "Shubha Gupta" <notifications@github.com> wrote:

> @apb7 <https://github.com/apb7> @vibhor98 <https://github.com/vibhor98>
> Just to confirm @Sunil16202 <https://github.com/sunil16202> has already
> signed the CLA. I think he needs help in getting started with this issue!
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-360744834>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AWR_t_HoeD6Yn15yUCflBo0SM5bD8BdEks5tOardgaJpZM4RUxhe>
> .
>

Thanks, @shubha1593!
@sunil1602: We need to document _what_ each function/method does which
includes writing its arguments, returns and raises.
To start with, follow these steps:
1. Pick up any file which hasn't been documented yet.
2. Run `pylint --disable=all --enable=missing-docstrings <path/to/file>`
and see which functions/methods need documentation.(Please ensure that your
Pylint version is 1.7.1. You can check this by `pylint --version`)
3. Before documenting, you may need to look at the already documented files
in order to see what the right way to do this, is.
You can find all this information as comments in the thread. Go through
them once!
Thanks!

On Jan 26, 2018 4:40 PM, "Sunil Gupta" <notifications@github.com> wrote:

> Sir I am unable to understand what's things we have to do by docstrings,
> Since it is for documenting function, class etc. It is basically comment
> for other developer.
>
> Thanks
> Sunill
>
> On Jan 26, 2018 4:07 PM, "Shubha Gupta" <notifications@github.com> wrote:
>
> > @apb7 <https://github.com/apb7> @vibhor98 <https://github.com/vibhor98>
> > Just to confirm @Sunil16202 <https://github.com/sunil16202> has already
> > signed the CLA. I think he needs help in getting started with this issue!
> >
> > —
> > You are receiving this because you were mentioned.
> > Reply to this email directly, view it on GitHub
> > <https://github.com/oppia/oppia/issues/4374#issuecomment-360744834>, or
> mute
> > the thread
> > <https://github.com/notifications/unsubscribe-auth/AWR_t_
> HoeD6Yn15yUCflBo0SM5bD8BdEks5tOardgaJpZM4RUxhe>
> > .
> >
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-360755864>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AXrQuZXj3QNt88AHNu2t2op4E-3T6Dtqks5tObKMgaJpZM4RUxhe>
> .
>

Thanks

On Jan 26, 2018 5:05 PM, "Apurv Bajaj" <notifications@github.com> wrote:

Thanks, @shubha1593!
@sunil1602: We need to document _what_ each function/method does which
includes writing its arguments, returns and raises.
To start with, follow these steps:
1. Pick up any file which hasn't been documented yet.
2. Run `pylint --disable=all --enable=missing-docstrings <path/to/file>`
and see which functions/methods need documentation.(Please ensure that your
Pylint version is 1.7.1. You can check this by `pylint --version`)
3. Before documenting, you may need to look at the already documented files
in order to see what the right way to do this, is.
You can find all this information as comments in the thread. Go through
them once!
Thanks!


On Jan 26, 2018 4:40 PM, "Sunil Gupta" <notifications@github.com> wrote:

> Sir I am unable to understand what's things we have to do by docstrings,
> Since it is for documenting function, class etc. It is basically comment
> for other developer.
>
> Thanks
> Sunill
>
> On Jan 26, 2018 4:07 PM, "Shubha Gupta" <notifications@github.com> wrote:
>
> > @apb7 <https://github.com/apb7> @vibhor98 <https://github.com/vibhor98>
> > Just to confirm @Sunil16202 <https://github.com/sunil16202> has already

> > signed the CLA. I think he needs help in getting started with this
issue!
> >
> > —
> > You are receiving this because you were mentioned.
> > Reply to this email directly, view it on GitHub
> > <https://github.com/oppia/oppia/issues/4374#issuecomment-360744834>, or
> mute
> > the thread
> > <https://github.com/notifications/unsubscribe-auth/AWR_t_
> HoeD6Yn15yUCflBo0SM5bD8BdEks5tOardgaJpZM4RUxhe>
> > .

> >
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-360755864>, or
mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/
AXrQuZXj3QNt88AHNu2t2op4E-3T6Dtqks5tObKMgaJpZM4RUxhe>
> .

>

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://github.com/oppia/oppia/issues/4374#issuecomment-360762909>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AWR_t6hM94aEAh0U4rbulD-rIQW_QP6kks5tObh5gaJpZM4RUxhe>
.

I have pylint version 1.8, is there any problem?
Hello @Sunil16202! Please prefer using pylint 1.7.1 although I don't think 1.8 will cause any problem with docstring checking. Thanks!
I run code with Pylint 1.8, its ok.
How I can know that which type of class or function, what's things do.
@Sunil16202: Please follow the instructions given above in the issue thread! Thanks!
@seanlip. I'd like to work on core.domain.feedback_jobs_continuous.
Thanks
Sure! @Sunil16202 , Go ahead. Assigned you.
@Sunil16202 , What about `core.domain.stats_jobs_continuous` ? It's also assigned to you. 
@vibhor98 I am still working on it, it has huge lines of code approx 700 line. So, it is a little bit of difficult to understand entire code, is there any other way to do that.
@Sunil16202 , It's fine then. You can analyze only specific function for which docstrings have to be added and not the whole code. But yes, little understanding of the functions that is called by the concerned function is needed.
When I run "pylint --disable=all --enable=missing-docstring", it gives me Your code has been rated at 9.66/10. It is fine or it should give 10.

The rating should be 10. Please see to this!  Thanks!
How I can handle this, Since I am using pylint 1.8

On Jan 31, 2018 1:53 PM, "Apurv Bajaj" <notifications@github.com> wrote:

> The rating should be 10. Please see to this! Thanks!
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-361857874>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AWR_t40VlCUBiTIZ49fKLQBTmlfovA73ks5tQCLsgaJpZM4RUxhe>
> .
>

Sorry, I am unable to understand the _exact_ problem you are facing. Make sure _all_ methods/functions/classes which spring up during pylint check are documented. Only then will you get a rating of 10.  
I'm again quoting the procedure to be followed:  
>To start with, follow these steps: 
>1. Pick up any file which hasn't been documented yet. 
>2. Run `pylint --disable=all --enable=missing-docstrings <path/to/file>` and see which functions/methods need documentation.(Please ensure that your Pylint version is 1.7.1. You can check this by `pylint --version`) 
>3. Before documenting, you may need to look at the already documented files in order to see what the right way to do this, is. 
>You can find all this information as comments in the thread. Go through them once.  

Please go through the already documented files once again!  
Thanks!
Hi @Sunil16202, go through the @apb7's comment and if you aren't able to run pylint then please follow this :

(`C: lineNumber`)
You'll have to write doc-string on the following line numbers:
- If you're working for feedback_jobs_continuous, then follow this:
```
************* Module oppia.core.domain.feedback_jobs_continuous
C:  1, 0: Missing module docstring (missing-docstring)
C: 30, 0: Missing class docstring (missing-docstring)
C: 42, 4: Missing method docstring (missing-docstring)
C: 47, 4: Missing method docstring (missing-docstring)
C: 51, 4: Missing method docstring (missing-docstring)
C: 68, 8: Missing function docstring (missing-docstring)
C: 82, 8: Missing function docstring (missing-docstring)
C: 96, 8: Missing function docstring (missing-docstring)
C:195, 4: Missing method docstring (missing-docstring)
C:199, 4: Missing method docstring (missing-docstring)

Global evaluation
-----------------
Your code has been rated at 8.61/10
```
- otherwise, follow this:
```
************* Module oppia.core.domain.stats_jobs_continuous
C: 55, 0: Missing class docstring (missing-docstring)
C: 66, 4: Missing method docstring (missing-docstring)
C: 72, 4: Missing method docstring (missing-docstring)
C: 76, 4: Missing method docstring (missing-docstring)
C: 95, 8: Missing function docstring (missing-docstring)
C:109, 8: Missing function docstring (missing-docstring)
C:231, 4: Missing method docstring (missing-docstring)
C:235, 4: Missing method docstring (missing-docstring)
C:512, 4: Missing method docstring (missing-docstring)
C:516, 4: Missing method docstring (missing-docstring)
C:525, 4: Missing method docstring (missing-docstring)
C:549, 4: Missing method docstring (missing-docstring)
C:698, 0: Missing class docstring (missing-docstring)
C:711, 4: Missing method docstring (missing-docstring)
C:715, 4: Missing method docstring (missing-docstring)
C:719, 4: Missing method docstring (missing-docstring

Global evaluation
-----------------
Your code has been rated at 9.32/10
```
Do let us know for which part you're working so that we can de-assign you from the other parts.
Thanks!
Thanks, I understood, what's a thing I was doing wrong.
I am working on stats_jobs_continuous.
@shubha1593 Can I start working on core.jobs?
Hi @anookeen , Have you signed the CLA first? If not, please check out this [page](https://github.com/oppia/oppia/wiki/Contributing-code-to-Oppia#setting-things-up) to get started and then, you can move ahead.
Yes @vibhor98  I have signed up the CLA.
Great! @anookeen , I've assigned you. You can go ahead! :)
Thanks :) @vibhor98 
Hi guys, I am new here and to open source as well. I would like to work on this. So, what should I start with?

Hello @harsha444! Thanks for your interest. Would mind going through the instructions [here](https://github.com/oppia/oppia/wiki/Contributing-code-to-Oppia#setting-things-up) and sign the CLA as stated? Once you're done, follow these steps for this issue:  
>1. Pick up any file which hasn't been documented yet.
>2. Run `pylint --disable=all --enable=missing-docstrings <path/to/file>`
and see which functions/methods need documentation.(Please ensure that your
>Pylint version is 1.7.1. You can check this by `pylint --version`)
>3. Before documenting, you may need to look at the already documented files
in order to see what the right way to do this, is.
You can find all this information as comments in the thread. Go through
them once!

Thanks! 
I have done that previously. Doing it once is enough right? @apb7 
The task was assigned by @vibhor to me

On 8 February 2018 at 16:26, Sri Harsha <notifications@github.com> wrote:

> I have done that previously. Doing it once is enough right? @apb7
> <https://github.com/apb7>
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-364166535>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ATVkTGKpBqGF8l6XAO9ZlZeIEtEZWB-Yks5tSyBOgaJpZM4RUxhe>
> .
>

Yes, @harsha444. I've updated the comment. Please see it once :) 
Sure, thanks.! @apb7 
I completed  core.domain.stats_jobs_continuous, how can I push it?
 @sunil16202 use this command
git push origin your-branch-name
I got an error.
![screenshot from 2018-02-10 16-44-22](https://user-images.githubusercontent.com/23363511/36061557-e64fdc82-0e81-11e8-88f8-57d3f9e69082.png)


try git push -u origin develop @Sunil16202 
Have you set the origin ? @sunil
Hello @Sunil16202! Please use `git push origin your-branch-name` and not your forked repo URL.  
Thanks!
no, how can I set @anookeen 
git remote add origin path/to/your/repo/on/github
@sunil use this command
git remote add origin path/to/your/repo/on/github
what is branch name for  core.domain.stats_jobs_continuous, I have to push it.
Use the command " git branch" to see the name of branch.

On 11 Feb 2018 9:50 am, "Sunil Gupta" <notifications@github.com> wrote:

what is branch name for core.domain.stats_jobs_continuous, I have to push
it.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://github.com/oppia/oppia/issues/4374#issuecomment-364721412>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ATVkTF0dJ3E97kAquqbjWzaNcP33BSEZks5tTnGdgaJpZM4RUxhe>
.

I got, 
* develop

@sunil kindly make another branch and commit changes to that branch.  Push
that to the origin afterwards. You don't have to change the develop.

On 11 Feb 2018 9:54 am, "Sunil Gupta" <notifications@github.com> wrote:

> I got,
>
>    - develop
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-364721571>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ATVkTKpdGS8ihSK7nl8UUWxsjxSaJCekks5tTnJogaJpZM4RUxhe>
> .
>

but, I ran code git push origin develop,
It shows me Everything up-to-date

![capture](https://user-images.githubusercontent.com/23363511/36069897-ebc7ba78-0f16-11e8-82c7-6006bf49f751.PNG)

@Sunil was this task of docstrings assigned to you?

On 11 Feb 2018 10:03 am, "Sunil Gupta" <notifications@github.com> wrote:

> [image: capture]
> <https://user-images.githubusercontent.com/23363511/36069897-ebc7ba78-0f16-11e8-82c7-6006bf49f751.PNG>
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-364721989>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ATVkTFw5aS06VdldqPAlZ7hib6W0SHaoks5tTnSKgaJpZM4RUxhe>
> .
>

Yes, This task was assigned to me.
core.domain.stats_jobs_continuous @Sunil16202
@anookeen  I create new branch as local then I used git push origin local.
![sunil](https://user-images.githubusercontent.com/23363511/36069976-46537ea4-0f18-11e8-992a-6d548620b754.png)

@sunil is your git now updated?

On 11 Feb 2018 10:13 am, "Sunil Gupta" <notifications@github.com> wrote:

> I create new branch as local then I used git push origin local.
> [image: sunil]
> <https://user-images.githubusercontent.com/23363511/36069976-46537ea4-0f18-11e8-992a-6d548620b754.png>
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-364722445>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ATVkTAr6ddlDm3sDWDvVBRFiCd58oapxks5tTncLgaJpZM4RUxhe>
> .
>

yes, it shows me this
Branch local set up to track remote branch local from origin.
Everything up-to-date
@anookeen 

Okay @sunil this seems fine to me.

On 11 Feb 2018 10:29 am, "Sunil Gupta" <notifications@github.com> wrote:

> yes, it shows me this
> Branch local set up to track remote branch local from origin.
> Everything up-to-date
> @anookeen <https://github.com/anookeen>
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-364723019>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ATVkTPsrHuJnMEgB7Alsja1_kXPiWCHCks5tTnrTgaJpZM4RUxhe>
> .
>

but, on Oppia GitHub site, this task has not checked.
 core.domain.stats_jobs_continuous @Sunil16202
@anookeen 
Have you created the pull request? If not create one. It will be reviewed
by the mentors and they'll merge that into oppia. Then it will appear
checked @sunil

On 11 Feb 2018 10:33 am, "Sunil Gupta" <notifications@github.com> wrote:

> but, on Oppia GitHub site, this task has not checked.
> core.domain.stats_jobs_continuous @Sunil16202
> <https://github.com/sunil16202>
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-364723170>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ATVkTEeVB99NQGdo8UxoO50ewSKZcGUNks5tTnvCgaJpZM4RUxhe>
> .
>

I ran code
git pull origin local
Is it fine.

On Feb 11, 2018 11:15 AM, "Anoosha keen" <notifications@github.com> wrote:

> Have you created the pull request? If not create one. It will be reviewed
> by the mentors and they'll merge that into oppia. Then it will appear
> checked @sunil
>
> On 11 Feb 2018 10:33 am, "Sunil Gupta" <notifications@github.com> wrote:
>
> > but, on Oppia GitHub site, this task has not checked.
> > core.domain.stats_jobs_continuous @Sunil16202
> > <https://github.com/sunil16202>
> >
> > —
> > You are receiving this because you were mentioned.
> > Reply to this email directly, view it on GitHub
> > <https://github.com/oppia/oppia/issues/4374#issuecomment-364723170>, or
> mute
> > the thread
> > <https://github.com/notifications/unsubscribe-auth/
> ATVkTEeVB99NQGdo8UxoO50ewSKZcGUNks5tTnvCgaJpZM4RUxhe>
> > .
> >
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-364723784>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AWR_t3IZ1zCFDMtFTtN63uixnmiVJivcks5tTn6BgaJpZM4RUxhe>
> .
>

You need not to pull from origin rather you should pull from the  oppia's
github to make your local branch insync with oppia develop.

On 11 Feb 2018 10:54 am, "Sunil Gupta" <notifications@github.com> wrote:

> I ran code
> git pull origin local
> Is it fine.
>
> On Feb 11, 2018 11:15 AM, "Anoosha keen" <notifications@github.com> wrote:
>
> > Have you created the pull request? If not create one. It will be reviewed
> > by the mentors and they'll merge that into oppia. Then it will appear
> > checked @sunil
> >
> > On 11 Feb 2018 10:33 am, "Sunil Gupta" <notifications@github.com> wrote:
> >
> > > but, on Oppia GitHub site, this task has not checked.
> > > core.domain.stats_jobs_continuous @Sunil16202
> > > <https://github.com/sunil16202>
> > >
> > > —
> > > You are receiving this because you were mentioned.
> > > Reply to this email directly, view it on GitHub
> > > <https://github.com/oppia/oppia/issues/4374#issuecomment-364723170>,
> or
> > mute
> > > the thread
> > > <https://github.com/notifications/unsubscribe-auth/
> > ATVkTEeVB99NQGdo8UxoO50ewSKZcGUNks5tTnvCgaJpZM4RUxhe>
> > > .
> > >
> >
> > —
> > You are receiving this because you were mentioned.
> > Reply to this email directly, view it on GitHub
> > <https://github.com/oppia/oppia/issues/4374#issuecomment-364723784>, or
> mute
> > the thread
> > <https://github.com/notifications/unsubscribe-auth/AWR_
> t3IZ1zCFDMtFTtN63uixnmiVJivcks5tTn6BgaJpZM4RUxhe>
> > .
> >
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-364724323>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ATVkTCrBsFyEk_DVwYCPfrwIgFVNnUqLks5tToB-gaJpZM4RUxhe>
> .
>

@Sunil16202 Please take a look at [this](https://github.com/oppia/oppia/wiki/Contributing-code-to-Oppia#instructions-for-making-a-code-change). This should help!
Hi! I have completed the setup of Oppia and have signed the CLA. I'd like to start working on one of the files now. 
Hey @divyadeep1 , Feel free to select any of the remaining files and let us know so that I can assign you the same.
@vibhor98 Before selecting a file, there's an issue that I need some help with. When I run `pylint --disable=all --enable=missing-docstring <filename>`, I get an import error saying "No module named docstyle". How should I fix this?
Hey, @divyadeep1! Please ensure that your pylint version is >=1.7.1. You can check it by `pylint --version`.  
Thanks!
Hey @apb7, it was a version problem indeed. Thanks a lot! So I checked almost all the files using pylint, but it doesn't show me missing-docstring on any of them. It shows a score of 10/10 with no information on missing docstrings. Am I doing something wrong?
Hi, @divyadeep1! Please select any of the remaining files and let us know it first. Then, as stated in the thread, use:  
`
pylint --disable=all --enable=missing-docstring <path/to/file>
`
Also, please ensure the version is >= 1.7.1.  
Thanks!
@divyadeep1: This is the output which I get:  
```
************* Module oppia.core.domain.acl_decorators
C: 31, 4: Missing function docstring (missing-docstring)
C: 41, 4: Missing function docstring (missing-docstring)
C: 61, 4: Missing function docstring (missing-docstring)
C: 80, 4: Missing function docstring (missing-docstring)
C:101, 4: Missing function docstring (missing-docstring)
C:120, 4: Missing function docstring (missing-docstring)
C:142, 4: Missing function docstring (missing-docstring)
C:159, 4: Missing function docstring (missing-docstring)
C:176, 4: Missing function docstring (missing-docstring)
C:193, 4: Missing function docstring (missing-docstring)
C:226, 4: Missing function docstring (missing-docstring)
C:242, 4: Missing function docstring (missing-docstring)
C:259, 4: Missing function docstring (missing-docstring)
C:278, 4: Missing function docstring (missing-docstring)
C:297, 4: Missing function docstring (missing-docstring)
C:323, 4: Missing function docstring (missing-docstring)
C:338, 4: Missing function docstring (missing-docstring)
C:352, 4: Missing function docstring (missing-docstring)
C:366, 4: Missing function docstring (missing-docstring)
C:389, 4: Missing function docstring (missing-docstring)
C:412, 4: Missing function docstring (missing-docstring)
C:428, 4: Missing function docstring (missing-docstring)
C:449, 4: Missing function docstring (missing-docstring)
C:469, 4: Missing function docstring (missing-docstring)
C:491, 4: Missing function docstring (missing-docstring)
C:512, 4: Missing function docstring (missing-docstring)
C:527, 4: Missing function docstring (missing-docstring)

-----------------------------------
Your code has been rated at 8.98/10
```  
Can you please try running it from the oppia directory? (You can use this list as a reference though.) 
@apb7: I'm using this command from the oppia directory: `pylint --disable=all --enable=mising-docstring core/domain/acl_decorators.py` but still it's showing me the same output as before.
Hi @divyadeep1 This file has already one [PR](https://github.com/oppia/oppia/pull/4604/files). Can you choose some other one? It was not updated. But now I have updated it.
Hey @vibhor98, how about core.storage.job.gae_models then?
@divyadeep1 , you can take it. Shall I assign you?
@vibhor98 Yes, please do. The problem is here as well though.
![screenshot from 2018-02-16 21-30-11](https://user-images.githubusercontent.com/19911687/36316561-a7f1e906-1360-11e8-9c46-dc8cede2203f.png)

@divyadeep1: Please change `mising` to `missing`. If this does not works, please post the output of `pylint --version` here.   
Thanks!

@divyadeep1: Please change `mising` to `missing`. If this does not work, please post the output of `pylint --version` here.   
Thanks!

@apb7 It did work. I feel so silly. Thank you so much!

@divyadeep1 , I've assigned you. Please, go ahead!
Working on it, Thanks @vibhor98 
@divyadeep1: No problem, happy to help :)
Hey, @WickedBrat! Please use this to check the line numbers in case of any ambiguity:  
`pylint --disable=all --enable=missing-docstring <path/to/file>` 
Thanks!
@WickedBrat: I've updated the line numbers in the issue thread. Do you plan to work on this?
@WickedBrat: Sure, go ahead -- I've assigned you! 
what should be the head branch, when I have to push  "core.domain.stats_jobs_continuous".
Head branch should be Oppia's develop branch. You can push from your branch
to this branch. Thanks!

On Tue, Feb 27, 2018 at 10:00 AM, Sunil Gupta <notifications@github.com>
wrote:

> what should be the head branch, when I have to push
> "core.domain.stats_jobs_continuous".
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-368743922>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AZZHvFRjNsQwQ0_KleF507U2RxKWPtpEks5tY4TggaJpZM4RUxhe>
> .
>

I did it and it shows me " These branches can be automatically merged"
It means you have previously commited to the Oppia's develop branch with
your same branch. Then, your commit merges with your previous commits. Try
to push with new branch of yours and this problem can be removed.

On Tue, Feb 27, 2018 at 10:15 AM, Sunil Gupta <notifications@github.com>
wrote:

> I did it and it shows me " These branches can be automatically merged"
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-368746081>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AZZHvHMPDrvdMrp3cMnKD8-j0QLo1ip3ks5tY4iHgaJpZM4RUxhe>
> .
>

Hi @yashLadha @apb7 these are the set of files that need addition of docstrings. You can follow the guidelines and tackle files one by one. Remember we need to work together collaboratively so I will be keeping track of you time to time. Please share if you encounter any type of problem in the future.
Hello! I'm new here and would like to start working on this.
Hi @hundredrab -- sounds good, thanks! Would you mind following the instructions [here](https://github.com/oppia/oppia/wiki/Contributing-code-to-Oppia#setting-things-up) to get started? Once you've done that, feel free to pick a file on this issue and tell us what it is, and we'll update the thread accordingly. Thanks!
@seanlip sure. I'd like to work on `core.controllers.learner_dashboard` thanks
Thanks -- let us know when you have finished the instructions I mentioned above, and we can assign you then.
@seanlip I am new here and have read the instructions.Can I work on `core.controllers.pages`? 
  
Hi @Vishnu-M. Sounds Good! Please follow  the instructions first [here](https://github.com/oppia/oppia/wiki/Contributing-code-to-Oppia#setting-things-up) and sign the CLA to get started.
Once you are done, you can pick any file of your choice.  
Hey @vibhor98! I'd like to work on `core.controllers.base`. Also, [line 537](https://github.com/oppia/oppia/blob/develop/core/controllers/base.py#L537) does not exactly point to a method (It points to `digester.digest`). Can you please point out which method was being referred there?  
Thanks!
@apb7  Sure assigned you. You can run the pylint test on specific file given as in the instructions. 
  
Hi @apb7 , I guess that's just a typos 
```
************* Module oppia.core.controllers.base
C:134, 4: Missing method docstring (missing-docstring)
C:543, 4: Missing method docstring (missing-docstring)
C:547, 4: Missing method docstring (missing-docstring)
```
you can may prefer this^
  
Thanks, @vibhor98 and @DubeySandeep!
@vibhor98  I'd like to work on core.domain.email_subscription_services
Hey @Kunalgarg2100 Have you followed the instructions given [here](https://github.com/oppia/oppia/wiki/Contributing-code-to-Oppia#setting-things-up)  and signed the CLA? Please tell me when you are ready. I'll assign it to you.
Yes, I have signed.

On Mon, Jan 8, 2018 at 7:31 PM, Vibhor Agarwal <notifications@github.com>
wrote:

> Hey @Kunalgarg2100 <https://github.com/kunalgarg2100> Have you followed
> the instructions given here
> <https://github.com/oppia/oppia/wiki/Contributing-code-to-Oppia#setting-things-up>
> and signed the CLA? Please tell me when you are ready. I'll assign it to
> you.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-355973931>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AWOsVTpNcguf-7wbFLPD63I8SOnGjlbEks5tIh-8gaJpZM4RUxhe>
> .
>

Great @Kunalgarg2100. Welcome to Oppia! 😄  You can go ahead as I have assigned it to you.
Hey @vibhor98! If i am not wrong , `core.domain.collection_domain` is already Update docstrings and there is no class in line no:- 32.
Hello @jervis446! Instead of going by the mentioned line numbers, run:
`pylint --disable=all --enable=missing-docstring <path/to/file>`   
Thanks!
OK thanks @apb7 
Hi , @vibhor98 I'd like to work on  `core.domain.param_domain`
Hello @jervis446! I have assigned it to you. Thanks! 
Hello, @apb7 I new but have signed the CLA I would like to work on core.domain.stats_domain 
@NickeL74, assigned you that!
Hi @vibhor98 I was thinking to work on "core.domain.acl_decorators". But unfortunately, 
I'm getting some errors while executing the pylint command given above. Can you please help.

![error](https://user-images.githubusercontent.com/22103406/35197616-ca7b4aa2-ff07-11e7-97cf-aad646bd0815.png)


 
Hey @Nix07! Please put another `-` before `disable` (`pylint --disable=all --enable=missing-docstring <path/to/file>`) and see if that works!   
Thanks!
Give me a moment please!
Nope, it is still not working!

![12](https://user-images.githubusercontent.com/22103406/35197721-8f139bca-ff09-11e7-91dd-2cb9d62ec29b.png)

Hi @Nix07 , Is your local branch up  to date? Because these checks have been recently added and linter may not be able to find docstyle.
Yeah, it's up-to-date.  
@Nix07: Can you please do a `pylint --version` once? Also, remove these [lines](https://github.com/oppia/oppia/blob/develop/.pylintrc#L8:L11) from .pylintrc and then try once more!  
Thanks!
Can you also check you `.pylintrc` file? It contains plugin for
extensions.docstyle. May be it's not installed properly or there is any
version difference.

On Mon, Jan 22, 2018 at 12:25 AM, Nikhil Prakash <notifications@github.com>
wrote:

> Yeah, it's up-to-date.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-359271106>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AZZHvEfmjYSslQyAXPuTeVRWv6Gydml_ks5tM4gdgaJpZM4RUxhe>
> .
>

Thanks @apb7 Got the output, after removing those lines!
And Thanks @vibhor98 for your time...
@vibhor98: ~~I think the current pylint version  1.7.1 does not support `pylint.extensions.docstyle` which was used in PR #4572. It only has support for `pylint.extensions.docparams`. Please confirm your Pylint version once @vibhor98 so that we can look into this.~~ 
I tried this locally by using the exact version 1.7.1 and it works. The problem would have been with @Nix07's pylint version (1.5.2)
Thanks again @vibhor98! Sorry for troubling you :) 
@apb7 my pylint version is -- 1.8.1. So this is the issue.

On Mon, Jan 22, 2018 at 12:47 AM, Apurv Bajaj <notifications@github.com>
wrote:

> @vibhor98 <https://github.com/vibhor98>: The current pylint version 1.7.1
> does not support pylint.extensions.docstyle which was used in PR #4572
> <https://github.com/oppia/oppia/pull/4572>. It only has support for
> pylint.extensions.docparams. Please confirm your Pylint version once
> @vibhor98 <https://github.com/vibhor98> so that we can look after this.
> Thanks!
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-359272676>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AZZHvHpf7U2XifP-vdseCGJhVGNhZMBtks5tM41lgaJpZM4RUxhe>
> .
>

Hi,
Can I have core.platform.models and core.platform.email.gae_email_services ?
Regards,
Chirag Vashist
Sure go ahead @SerChirag . Assigned it to you.
Hi, @vibhor98 , I am unable to understand how I have to start because their lots of file and I confused with them, please suggest me because I am new to the opensource organization.
Hey there @Sunil16202! Please check out this [page](https://github.com/oppia/oppia/wiki/Contributing-code-to-Oppia#setting-things-up) to get started!  
Thanks!
@apb7 @vibhor98 Just to confirm @Sunil16202 has already signed the CLA. I think he needs help in getting started with this issue!
Sir I am unable to understand what's things we have to do by docstrings,
Since it is for documenting function, class etc. It is basically comment
for other developer.

Thanks
Sunill

On Jan 26, 2018 4:07 PM, "Shubha Gupta" <notifications@github.com> wrote:

> @apb7 <https://github.com/apb7> @vibhor98 <https://github.com/vibhor98>
> Just to confirm @Sunil16202 <https://github.com/sunil16202> has already
> signed the CLA. I think he needs help in getting started with this issue!
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-360744834>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AWR_t_HoeD6Yn15yUCflBo0SM5bD8BdEks5tOardgaJpZM4RUxhe>
> .
>

Thanks, @shubha1593!
@sunil1602: We need to document _what_ each function/method does which
includes writing its arguments, returns and raises.
To start with, follow these steps:
1. Pick up any file which hasn't been documented yet.
2. Run `pylint --disable=all --enable=missing-docstrings <path/to/file>`
and see which functions/methods need documentation.(Please ensure that your
Pylint version is 1.7.1. You can check this by `pylint --version`)
3. Before documenting, you may need to look at the already documented files
in order to see what the right way to do this, is.
You can find all this information as comments in the thread. Go through
them once!
Thanks!

On Jan 26, 2018 4:40 PM, "Sunil Gupta" <notifications@github.com> wrote:

> Sir I am unable to understand what's things we have to do by docstrings,
> Since it is for documenting function, class etc. It is basically comment
> for other developer.
>
> Thanks
> Sunill
>
> On Jan 26, 2018 4:07 PM, "Shubha Gupta" <notifications@github.com> wrote:
>
> > @apb7 <https://github.com/apb7> @vibhor98 <https://github.com/vibhor98>
> > Just to confirm @Sunil16202 <https://github.com/sunil16202> has already
> > signed the CLA. I think he needs help in getting started with this issue!
> >
> > —
> > You are receiving this because you were mentioned.
> > Reply to this email directly, view it on GitHub
> > <https://github.com/oppia/oppia/issues/4374#issuecomment-360744834>, or
> mute
> > the thread
> > <https://github.com/notifications/unsubscribe-auth/AWR_t_
> HoeD6Yn15yUCflBo0SM5bD8BdEks5tOardgaJpZM4RUxhe>
> > .
> >
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-360755864>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AXrQuZXj3QNt88AHNu2t2op4E-3T6Dtqks5tObKMgaJpZM4RUxhe>
> .
>

Thanks

On Jan 26, 2018 5:05 PM, "Apurv Bajaj" <notifications@github.com> wrote:

Thanks, @shubha1593!
@sunil1602: We need to document _what_ each function/method does which
includes writing its arguments, returns and raises.
To start with, follow these steps:
1. Pick up any file which hasn't been documented yet.
2. Run `pylint --disable=all --enable=missing-docstrings <path/to/file>`
and see which functions/methods need documentation.(Please ensure that your
Pylint version is 1.7.1. You can check this by `pylint --version`)
3. Before documenting, you may need to look at the already documented files
in order to see what the right way to do this, is.
You can find all this information as comments in the thread. Go through
them once!
Thanks!


On Jan 26, 2018 4:40 PM, "Sunil Gupta" <notifications@github.com> wrote:

> Sir I am unable to understand what's things we have to do by docstrings,
> Since it is for documenting function, class etc. It is basically comment
> for other developer.
>
> Thanks
> Sunill
>
> On Jan 26, 2018 4:07 PM, "Shubha Gupta" <notifications@github.com> wrote:
>
> > @apb7 <https://github.com/apb7> @vibhor98 <https://github.com/vibhor98>
> > Just to confirm @Sunil16202 <https://github.com/sunil16202> has already

> > signed the CLA. I think he needs help in getting started with this
issue!
> >
> > —
> > You are receiving this because you were mentioned.
> > Reply to this email directly, view it on GitHub
> > <https://github.com/oppia/oppia/issues/4374#issuecomment-360744834>, or
> mute
> > the thread
> > <https://github.com/notifications/unsubscribe-auth/AWR_t_
> HoeD6Yn15yUCflBo0SM5bD8BdEks5tOardgaJpZM4RUxhe>
> > .

> >
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-360755864>, or
mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/
AXrQuZXj3QNt88AHNu2t2op4E-3T6Dtqks5tObKMgaJpZM4RUxhe>
> .

>

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://github.com/oppia/oppia/issues/4374#issuecomment-360762909>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AWR_t6hM94aEAh0U4rbulD-rIQW_QP6kks5tObh5gaJpZM4RUxhe>
.

I have pylint version 1.8, is there any problem?
Hello @Sunil16202! Please prefer using pylint 1.7.1 although I don't think 1.8 will cause any problem with docstring checking. Thanks!
I run code with Pylint 1.8, its ok.
How I can know that which type of class or function, what's things do.
@Sunil16202: Please follow the instructions given above in the issue thread! Thanks!
@seanlip. I'd like to work on core.domain.feedback_jobs_continuous.
Thanks
Sure! @Sunil16202 , Go ahead. Assigned you.
@Sunil16202 , What about `core.domain.stats_jobs_continuous` ? It's also assigned to you. 
@vibhor98 I am still working on it, it has huge lines of code approx 700 line. So, it is a little bit of difficult to understand entire code, is there any other way to do that.
@Sunil16202 , It's fine then. You can analyze only specific function for which docstrings have to be added and not the whole code. But yes, little understanding of the functions that is called by the concerned function is needed.
When I run "pylint --disable=all --enable=missing-docstring", it gives me Your code has been rated at 9.66/10. It is fine or it should give 10.

The rating should be 10. Please see to this!  Thanks!
How I can handle this, Since I am using pylint 1.8

On Jan 31, 2018 1:53 PM, "Apurv Bajaj" <notifications@github.com> wrote:

> The rating should be 10. Please see to this! Thanks!
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-361857874>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AWR_t40VlCUBiTIZ49fKLQBTmlfovA73ks5tQCLsgaJpZM4RUxhe>
> .
>

Sorry, I am unable to understand the _exact_ problem you are facing. Make sure _all_ methods/functions/classes which spring up during pylint check are documented. Only then will you get a rating of 10.  
I'm again quoting the procedure to be followed:  
>To start with, follow these steps: 
>1. Pick up any file which hasn't been documented yet. 
>2. Run `pylint --disable=all --enable=missing-docstrings <path/to/file>` and see which functions/methods need documentation.(Please ensure that your Pylint version is 1.7.1. You can check this by `pylint --version`) 
>3. Before documenting, you may need to look at the already documented files in order to see what the right way to do this, is. 
>You can find all this information as comments in the thread. Go through them once.  

Please go through the already documented files once again!  
Thanks!
Hi @Sunil16202, go through the @apb7's comment and if you aren't able to run pylint then please follow this :

(`C: lineNumber`)
You'll have to write doc-string on the following line numbers:
- If you're working for feedback_jobs_continuous, then follow this:
```
************* Module oppia.core.domain.feedback_jobs_continuous
C:  1, 0: Missing module docstring (missing-docstring)
C: 30, 0: Missing class docstring (missing-docstring)
C: 42, 4: Missing method docstring (missing-docstring)
C: 47, 4: Missing method docstring (missing-docstring)
C: 51, 4: Missing method docstring (missing-docstring)
C: 68, 8: Missing function docstring (missing-docstring)
C: 82, 8: Missing function docstring (missing-docstring)
C: 96, 8: Missing function docstring (missing-docstring)
C:195, 4: Missing method docstring (missing-docstring)
C:199, 4: Missing method docstring (missing-docstring)

Global evaluation
-----------------
Your code has been rated at 8.61/10
```
- otherwise, follow this:
```
************* Module oppia.core.domain.stats_jobs_continuous
C: 55, 0: Missing class docstring (missing-docstring)
C: 66, 4: Missing method docstring (missing-docstring)
C: 72, 4: Missing method docstring (missing-docstring)
C: 76, 4: Missing method docstring (missing-docstring)
C: 95, 8: Missing function docstring (missing-docstring)
C:109, 8: Missing function docstring (missing-docstring)
C:231, 4: Missing method docstring (missing-docstring)
C:235, 4: Missing method docstring (missing-docstring)
C:512, 4: Missing method docstring (missing-docstring)
C:516, 4: Missing method docstring (missing-docstring)
C:525, 4: Missing method docstring (missing-docstring)
C:549, 4: Missing method docstring (missing-docstring)
C:698, 0: Missing class docstring (missing-docstring)
C:711, 4: Missing method docstring (missing-docstring)
C:715, 4: Missing method docstring (missing-docstring)
C:719, 4: Missing method docstring (missing-docstring

Global evaluation
-----------------
Your code has been rated at 9.32/10
```
Do let us know for which part you're working so that we can de-assign you from the other parts.
Thanks!
Thanks, I understood, what's a thing I was doing wrong.
I am working on stats_jobs_continuous.
@shubha1593 Can I start working on core.jobs?
Hi @anookeen , Have you signed the CLA first? If not, please check out this [page](https://github.com/oppia/oppia/wiki/Contributing-code-to-Oppia#setting-things-up) to get started and then, you can move ahead.
Yes @vibhor98  I have signed up the CLA.
Great! @anookeen , I've assigned you. You can go ahead! :)
Thanks :) @vibhor98 
Hi guys, I am new here and to open source as well. I would like to work on this. So, what should I start with?

Hello @harsha444! Thanks for your interest. Would mind going through the instructions [here](https://github.com/oppia/oppia/wiki/Contributing-code-to-Oppia#setting-things-up) and sign the CLA as stated? Once you're done, follow these steps for this issue:  
>1. Pick up any file which hasn't been documented yet.
>2. Run `pylint --disable=all --enable=missing-docstrings <path/to/file>`
and see which functions/methods need documentation.(Please ensure that your
>Pylint version is 1.7.1. You can check this by `pylint --version`)
>3. Before documenting, you may need to look at the already documented files
in order to see what the right way to do this, is.
You can find all this information as comments in the thread. Go through
them once!

Thanks! 
I have done that previously. Doing it once is enough right? @apb7 
The task was assigned by @vibhor to me

On 8 February 2018 at 16:26, Sri Harsha <notifications@github.com> wrote:

> I have done that previously. Doing it once is enough right? @apb7
> <https://github.com/apb7>
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-364166535>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ATVkTGKpBqGF8l6XAO9ZlZeIEtEZWB-Yks5tSyBOgaJpZM4RUxhe>
> .
>

Yes, @harsha444. I've updated the comment. Please see it once :) 
Sure, thanks.! @apb7 
I completed  core.domain.stats_jobs_continuous, how can I push it?
 @sunil16202 use this command
git push origin your-branch-name
I got an error.
![screenshot from 2018-02-10 16-44-22](https://user-images.githubusercontent.com/23363511/36061557-e64fdc82-0e81-11e8-88f8-57d3f9e69082.png)


try git push -u origin develop @Sunil16202 
Have you set the origin ? @sunil
Hello @Sunil16202! Please use `git push origin your-branch-name` and not your forked repo URL.  
Thanks!
no, how can I set @anookeen 
git remote add origin path/to/your/repo/on/github
@sunil use this command
git remote add origin path/to/your/repo/on/github
what is branch name for  core.domain.stats_jobs_continuous, I have to push it.
Use the command " git branch" to see the name of branch.

On 11 Feb 2018 9:50 am, "Sunil Gupta" <notifications@github.com> wrote:

what is branch name for core.domain.stats_jobs_continuous, I have to push
it.

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://github.com/oppia/oppia/issues/4374#issuecomment-364721412>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/ATVkTF0dJ3E97kAquqbjWzaNcP33BSEZks5tTnGdgaJpZM4RUxhe>
.

I got, 
* develop

@sunil kindly make another branch and commit changes to that branch.  Push
that to the origin afterwards. You don't have to change the develop.

On 11 Feb 2018 9:54 am, "Sunil Gupta" <notifications@github.com> wrote:

> I got,
>
>    - develop
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-364721571>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ATVkTKpdGS8ihSK7nl8UUWxsjxSaJCekks5tTnJogaJpZM4RUxhe>
> .
>

but, I ran code git push origin develop,
It shows me Everything up-to-date

![capture](https://user-images.githubusercontent.com/23363511/36069897-ebc7ba78-0f16-11e8-82c7-6006bf49f751.PNG)

@Sunil was this task of docstrings assigned to you?

On 11 Feb 2018 10:03 am, "Sunil Gupta" <notifications@github.com> wrote:

> [image: capture]
> <https://user-images.githubusercontent.com/23363511/36069897-ebc7ba78-0f16-11e8-82c7-6006bf49f751.PNG>
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-364721989>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ATVkTFw5aS06VdldqPAlZ7hib6W0SHaoks5tTnSKgaJpZM4RUxhe>
> .
>

Yes, This task was assigned to me.
core.domain.stats_jobs_continuous @Sunil16202
@anookeen  I create new branch as local then I used git push origin local.
![sunil](https://user-images.githubusercontent.com/23363511/36069976-46537ea4-0f18-11e8-992a-6d548620b754.png)

@sunil is your git now updated?

On 11 Feb 2018 10:13 am, "Sunil Gupta" <notifications@github.com> wrote:

> I create new branch as local then I used git push origin local.
> [image: sunil]
> <https://user-images.githubusercontent.com/23363511/36069976-46537ea4-0f18-11e8-992a-6d548620b754.png>
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-364722445>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ATVkTAr6ddlDm3sDWDvVBRFiCd58oapxks5tTncLgaJpZM4RUxhe>
> .
>

yes, it shows me this
Branch local set up to track remote branch local from origin.
Everything up-to-date
@anookeen 

Okay @sunil this seems fine to me.

On 11 Feb 2018 10:29 am, "Sunil Gupta" <notifications@github.com> wrote:

> yes, it shows me this
> Branch local set up to track remote branch local from origin.
> Everything up-to-date
> @anookeen <https://github.com/anookeen>
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-364723019>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ATVkTPsrHuJnMEgB7Alsja1_kXPiWCHCks5tTnrTgaJpZM4RUxhe>
> .
>

but, on Oppia GitHub site, this task has not checked.
 core.domain.stats_jobs_continuous @Sunil16202
@anookeen 
Have you created the pull request? If not create one. It will be reviewed
by the mentors and they'll merge that into oppia. Then it will appear
checked @sunil

On 11 Feb 2018 10:33 am, "Sunil Gupta" <notifications@github.com> wrote:

> but, on Oppia GitHub site, this task has not checked.
> core.domain.stats_jobs_continuous @Sunil16202
> <https://github.com/sunil16202>
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-364723170>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ATVkTEeVB99NQGdo8UxoO50ewSKZcGUNks5tTnvCgaJpZM4RUxhe>
> .
>

I ran code
git pull origin local
Is it fine.

On Feb 11, 2018 11:15 AM, "Anoosha keen" <notifications@github.com> wrote:

> Have you created the pull request? If not create one. It will be reviewed
> by the mentors and they'll merge that into oppia. Then it will appear
> checked @sunil
>
> On 11 Feb 2018 10:33 am, "Sunil Gupta" <notifications@github.com> wrote:
>
> > but, on Oppia GitHub site, this task has not checked.
> > core.domain.stats_jobs_continuous @Sunil16202
> > <https://github.com/sunil16202>
> >
> > —
> > You are receiving this because you were mentioned.
> > Reply to this email directly, view it on GitHub
> > <https://github.com/oppia/oppia/issues/4374#issuecomment-364723170>, or
> mute
> > the thread
> > <https://github.com/notifications/unsubscribe-auth/
> ATVkTEeVB99NQGdo8UxoO50ewSKZcGUNks5tTnvCgaJpZM4RUxhe>
> > .
> >
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-364723784>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AWR_t3IZ1zCFDMtFTtN63uixnmiVJivcks5tTn6BgaJpZM4RUxhe>
> .
>

You need not to pull from origin rather you should pull from the  oppia's
github to make your local branch insync with oppia develop.

On 11 Feb 2018 10:54 am, "Sunil Gupta" <notifications@github.com> wrote:

> I ran code
> git pull origin local
> Is it fine.
>
> On Feb 11, 2018 11:15 AM, "Anoosha keen" <notifications@github.com> wrote:
>
> > Have you created the pull request? If not create one. It will be reviewed
> > by the mentors and they'll merge that into oppia. Then it will appear
> > checked @sunil
> >
> > On 11 Feb 2018 10:33 am, "Sunil Gupta" <notifications@github.com> wrote:
> >
> > > but, on Oppia GitHub site, this task has not checked.
> > > core.domain.stats_jobs_continuous @Sunil16202
> > > <https://github.com/sunil16202>
> > >
> > > —
> > > You are receiving this because you were mentioned.
> > > Reply to this email directly, view it on GitHub
> > > <https://github.com/oppia/oppia/issues/4374#issuecomment-364723170>,
> or
> > mute
> > > the thread
> > > <https://github.com/notifications/unsubscribe-auth/
> > ATVkTEeVB99NQGdo8UxoO50ewSKZcGUNks5tTnvCgaJpZM4RUxhe>
> > > .
> > >
> >
> > —
> > You are receiving this because you were mentioned.
> > Reply to this email directly, view it on GitHub
> > <https://github.com/oppia/oppia/issues/4374#issuecomment-364723784>, or
> mute
> > the thread
> > <https://github.com/notifications/unsubscribe-auth/AWR_
> t3IZ1zCFDMtFTtN63uixnmiVJivcks5tTn6BgaJpZM4RUxhe>
> > .
> >
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-364724323>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/ATVkTCrBsFyEk_DVwYCPfrwIgFVNnUqLks5tToB-gaJpZM4RUxhe>
> .
>

@Sunil16202 Please take a look at [this](https://github.com/oppia/oppia/wiki/Contributing-code-to-Oppia#instructions-for-making-a-code-change). This should help!
Hi! I have completed the setup of Oppia and have signed the CLA. I'd like to start working on one of the files now. 
Hey @divyadeep1 , Feel free to select any of the remaining files and let us know so that I can assign you the same.
@vibhor98 Before selecting a file, there's an issue that I need some help with. When I run `pylint --disable=all --enable=missing-docstring <filename>`, I get an import error saying "No module named docstyle". How should I fix this?
Hey, @divyadeep1! Please ensure that your pylint version is >=1.7.1. You can check it by `pylint --version`.  
Thanks!
Hey @apb7, it was a version problem indeed. Thanks a lot! So I checked almost all the files using pylint, but it doesn't show me missing-docstring on any of them. It shows a score of 10/10 with no information on missing docstrings. Am I doing something wrong?
Hi, @divyadeep1! Please select any of the remaining files and let us know it first. Then, as stated in the thread, use:  
`
pylint --disable=all --enable=missing-docstring <path/to/file>
`
Also, please ensure the version is >= 1.7.1.  
Thanks!
@divyadeep1: This is the output which I get:  
```
************* Module oppia.core.domain.acl_decorators
C: 31, 4: Missing function docstring (missing-docstring)
C: 41, 4: Missing function docstring (missing-docstring)
C: 61, 4: Missing function docstring (missing-docstring)
C: 80, 4: Missing function docstring (missing-docstring)
C:101, 4: Missing function docstring (missing-docstring)
C:120, 4: Missing function docstring (missing-docstring)
C:142, 4: Missing function docstring (missing-docstring)
C:159, 4: Missing function docstring (missing-docstring)
C:176, 4: Missing function docstring (missing-docstring)
C:193, 4: Missing function docstring (missing-docstring)
C:226, 4: Missing function docstring (missing-docstring)
C:242, 4: Missing function docstring (missing-docstring)
C:259, 4: Missing function docstring (missing-docstring)
C:278, 4: Missing function docstring (missing-docstring)
C:297, 4: Missing function docstring (missing-docstring)
C:323, 4: Missing function docstring (missing-docstring)
C:338, 4: Missing function docstring (missing-docstring)
C:352, 4: Missing function docstring (missing-docstring)
C:366, 4: Missing function docstring (missing-docstring)
C:389, 4: Missing function docstring (missing-docstring)
C:412, 4: Missing function docstring (missing-docstring)
C:428, 4: Missing function docstring (missing-docstring)
C:449, 4: Missing function docstring (missing-docstring)
C:469, 4: Missing function docstring (missing-docstring)
C:491, 4: Missing function docstring (missing-docstring)
C:512, 4: Missing function docstring (missing-docstring)
C:527, 4: Missing function docstring (missing-docstring)

-----------------------------------
Your code has been rated at 8.98/10
```  
Can you please try running it from the oppia directory? (You can use this list as a reference though.) 
@apb7: I'm using this command from the oppia directory: `pylint --disable=all --enable=mising-docstring core/domain/acl_decorators.py` but still it's showing me the same output as before.
Hi @divyadeep1 This file has already one [PR](https://github.com/oppia/oppia/pull/4604/files). Can you choose some other one? It was not updated. But now I have updated it.
Hey @vibhor98, how about core.storage.job.gae_models then?
@divyadeep1 , you can take it. Shall I assign you?
@vibhor98 Yes, please do. The problem is here as well though.
![screenshot from 2018-02-16 21-30-11](https://user-images.githubusercontent.com/19911687/36316561-a7f1e906-1360-11e8-9c46-dc8cede2203f.png)

@divyadeep1: Please change `mising` to `missing`. If this does not works, please post the output of `pylint --version` here.   
Thanks!

@divyadeep1: Please change `mising` to `missing`. If this does not work, please post the output of `pylint --version` here.   
Thanks!

@apb7 It did work. I feel so silly. Thank you so much!

@divyadeep1 , I've assigned you. Please, go ahead!
Working on it, Thanks @vibhor98 
@divyadeep1: No problem, happy to help :)
Hey, @WickedBrat! Please use this to check the line numbers in case of any ambiguity:  
`pylint --disable=all --enable=missing-docstring <path/to/file>` 
Thanks!
@WickedBrat: I've updated the line numbers in the issue thread. Do you plan to work on this?
@WickedBrat: Sure, go ahead -- I've assigned you! 
what should be the head branch, when I have to push  "core.domain.stats_jobs_continuous".
Head branch should be Oppia's develop branch. You can push from your branch
to this branch. Thanks!

On Tue, Feb 27, 2018 at 10:00 AM, Sunil Gupta <notifications@github.com>
wrote:

> what should be the head branch, when I have to push
> "core.domain.stats_jobs_continuous".
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-368743922>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AZZHvFRjNsQwQ0_KleF507U2RxKWPtpEks5tY4TggaJpZM4RUxhe>
> .
>

I did it and it shows me " These branches can be automatically merged"
It means you have previously commited to the Oppia's develop branch with
your same branch. Then, your commit merges with your previous commits. Try
to push with new branch of yours and this problem can be removed.

On Tue, Feb 27, 2018 at 10:15 AM, Sunil Gupta <notifications@github.com>
wrote:

> I did it and it shows me " These branches can be automatically merged"
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/oppia/oppia/issues/4374#issuecomment-368746081>, or mute
> the thread
> <https://github.com/notifications/unsubscribe-auth/AZZHvHMPDrvdMrp3cMnKD8-j0QLo1ip3ks5tY4iHgaJpZM4RUxhe>
> .
>


Resolving patch:
diff --git a/core/domain/stats_jobs_one_off.py b/core/domain/stats_jobs_one_off.py
--- a/core/domain/stats_jobs_one_off.py
+++ b/core/domain/stats_jobs_one_off.py
@@ -265,6 +265,42 @@ def entity_classes_to_map_over(cls):
     @classmethod
     def require_non_negative(
             cls, exp_id, exp_version, property_name, value, state_name=None):
+        """Ensures that all the statistical data is non-negative.
+
+        Args:
+            exp_id: str. ID of the exploration.
+            exp_version: str. Version of the exploration.
+            property_name: str. The name used as the property's key in the
+                value dict.
+            value: dict. Its structure is as follows:
+                {
+                    'num_starts_v1': int. # of times exploration was
+                        started.
+                    'num_completions_v1': int. # of times exploration was
+                        completed.
+                    'num_actual_starts_v1': int. # of times exploration was
+                        actually started.
+                    'state_stats_mapping': A dict containing the values of
+                        stats for the states of the exploration. It is
+                        formatted as follows:
+                        {
+                            state_name: {
+                                'total_answers_count_v1',
+                                'useful_feedback_count_v1',
+                                'total_hit_count_v1',
+                                'first_hit_count_v1',
+                                'num_completions_v1'
+                            }
+                        }
+                }
+            state_name: str|None. The name of the state whose statistics should
+                be checked.
+
+        Yield:
+            str. "Negative count: exp_id:? version:? state:? ?:?",
+                where ? is the placeholder for exp_id, exp_version,
+                property_name, state_name and value.
+        """
         state_name = state_name if state_name else ''
         if value[property_name] < 0:
             yield (
@@ -451,14 +487,14 @@ def map(item):
                 (_STATE_COUNTER_ERROR_KEY, error message).
             tuple. For ExplorationAnnotationModel, a 2-tuple in the form
                 ('exploration_id', value).
-                'exploration_id': str. the id of the exploration.
-                'value': a dict, whose structure is as follows:
+                'exploration_id': str. The id of the exploration.
+                'value': dict. Its structure is as follows:
                     {
-                        'version': str. version of the exploration.
+                        'version': str. Version of the exploration.
                         'starts': int. # of times exploration was started.
                         'completions': int. # of times exploration was
                             completed.
-                        'state_hit': a dict containing the hit counts for the
+                        'state_hit': dict. It contains the hit counts for the
                             states in the exploration. It is formatted as
                             follows:
                             {
@@ -500,11 +536,11 @@ def reduce(key, stringified_values):
                 associated with the given key. An element of stringified_values
                 would be of the form:
                     {
-                        'version': str. version of the exploration.
+                        'version': str. Version of the exploration.
                         'starts': int. # of times exploration was started.
                         'completions': int. # of times exploration was
                             completed.
-                        'state_hit': dict. a dict containing the hit counts
+                        'state_hit': dict. A dict containing the hit counts
                             for the states in the exploration. It is formatted
                             as follows:
                             {


Test patch: